吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2059|回复: 4
收起左侧

[已解决] 安卓在共享存储创建文件报Operation not permitted

[复制链接]
放假几天 发表于 2022-1-12 16:48
本帖最后由 放假几天 于 2022-1-12 21:09 编辑

代码
   /**
     * 创建文件
     *
     * @Param name
     * @return
     */
    public String fileCj(String name) {
//        获取外部存储路径
//        String path = Environment.getDownloadCacheDirectory().getAbsolutePath()+"/"+name;
//        Log.e("路径",Environment.getExternalStorageDirectory()+"");
//        Log.e("",Environment.getExternalStorageState().equals("mounted")+"");//查看外部存储是否存在


//        String path = context.getExternalFilesDir(null)+ "//" + name;

        File createFiles = new File(name);

        try {
            if (!createFiles.exists()) {
                createFiles.createNewFile();
            }
        } catch (IOException e) {
            Log.d("文件创建失败", "files err:" + e.getMessage());
        }

        return name;
    }

报错
W/System.err: java.io.FileNotFoundException: /storage/emulated/0/Documents/gnss/2022-01-12-03:45:55/GNSS/location.txt: open failed: EPERM (Operation not permitted)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jxn|android 发表于 2022-1-12 16:52
没权限 申请存储权限
 楼主| 放假几天 发表于 2022-1-12 19:14
jxn|android 发表于 2022-1-12 16:52
没权限 申请存储权限

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
                != PackageManager.PERMISSION_GRANTED
                || ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED
                || ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED
                || ContextCompat.checkSelfPermission(getApplication(), Manifest.permission.ACCESS_FINE_LOCATION)
                != PackageManager.PERMISSION_GRANTED) {
            //多个权限一起申请
            ActivityCompat.requestPermissions(this, new String[]{
                    Manifest.permission.CAMERA,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE,
                    Manifest.permission.READ_EXTERNAL_STORAGE,
                    Manifest.permission.ACCESS_FINE_LOCATION,

            }, 1);
        }
给了权限的。文件夹可以创建,但文件不可以
 楼主| 放假几天 发表于 2022-1-12 21:07
已解决,参考https://stackoverflow.com/questions/68140893/android-studio-throwing-ioexception-operation-not-permitted
原因是Android 11 中的存储机制更新导致
jxn|android 发表于 2022-1-14 09:14
好吧 好久没写安卓了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 16:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表