如何检查是不是允许“允许管理所有文件”?

Posted

技术标签:

【中文标题】如何检查是不是允许“允许管理所有文件”?【英文标题】:How to check if "Allow management of all files" is allowed?如何检查是否允许“允许管理所有文件”? 【发布时间】:2021-12-13 06:19:32 【问题描述】:

android 应用设置中的存储权限基本上有 3 种类型:

我的应用需要最高权限,所以我在manifest.xml中使用<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

如果未授予权限,现在我想阻止整个应用程序。因此,我尝试使用此代码检查是否授予了最高权限,但它总是返回 false

if(ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.MANAGE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)

我也尝试过使用WRITE_EXTERNAL_STORAGE,但它在第二个选项“仅允许访问媒体”时也返回 true。

结论

我正在寻找boolean 函数:

如果选择了“允许管理所有文件”,则返回 true

如果选择了“仅允许访问媒体”,则返回 false

如果选择了“拒绝”,则返回 false

谢谢。

【问题讨论】:

当用户选择Allow access to media only时,您的应用是否正常工作。 @VishalBeep 不,它没有。 @blackapps 非常感谢。这正是我一直在寻找的:) 【参考方案1】:
Environment.isExternalStorageManager().

【讨论】:

以上是关于如何检查是不是允许“允许管理所有文件”?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查用户是不是具有特定角色并因此允许某些操作?

如何检查用户是不是允许使用相机?

如何检查 HealthKit 中是不是允许读取步骤权限?

如何检查 HealthKit 中是不是允许读取步骤权限?

如何检查是不是允许用户读取/写入特定注册表项?

如何检查嵌套数据的更改是不是允许