解决SD Caused by:android.system.ErrnoException: open failed: EACCES

解决SD Caused by:android.system.ErrnoException: open failed: EACCES ,第1张

Android 11开发:关于在SDK大于23以上授予文件读取权限报错:解决SD Caused by:android.system.ErrnoException: open failed: EACCES (Permission denied)Android 11开发
问题描述

首先确定自己运行的虚拟机的安卓版本,由于之前没有看自己是安卓11的,看很多人都是直接加权限在AndroidManifest.xml里面添加权限啊之类的,我也加了但是还是报错,在总结了很多经验后发现安卓11除了要添加权限之外,还有别的地方需要修改:


一、首先确定自己在Androidmanifest.xml文件里面添加了文件读取权限。
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!--安卓11还需要另外添加下面这条权限-->
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
	

二、在MainActivity中的onCreate()方法里面添加如下代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            if(!Environment.isExternalStorageManager()){
                startActivity(new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION));
            }
        }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/735973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存