而是如何验证应用程序当前是否具有“所有文件访问”权限。我使用此方法来请求权限。
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse(String.format("package:%s",this.getPackageName())));
startActivityForResult(intent, 2296);
请帮我解决这个问题:(
3条答案
按热度按时间x8diyxa71#
在
manifest.xml
中声明此权限:对于询问
MANAGE_EXTERNAL_STORAGE
:以
onActivityResult
获取结果基本上,你可以在Android 11中检查权限是否被授予,就像这样;
w8rqjzmb2#
在内存的根目录中创建新的虚拟0字节文件,然后删除它。如果两个操作都成功,那么你有访问权限。当你没有访问权限时,那么你的代码将
throw Exception
(在创建文件的步骤),你可以try{ }catch(Exception e)
(防止应用程序崩溃)内部/外部/共享路径可以从
Environment
类获得,我会首先尝试getExternalStorageDirectory
9rbhqvlz3#
我是这么做的:
不过现在似乎还有一个更好的办法:
环境. isExternalStorage管理器()