存储访问权限在应用信息中不可见
Posted
技术标签:
【中文标题】存储访问权限在应用信息中不可见【英文标题】:Storage Access Permission is not visible in app info 【发布时间】:2018-12-11 10:49:39 【问题描述】:我已在清单中为我的 android 应用添加了 READ 和 WRITE 存储权限。我出于某种目的使用这些权限来访问图库图像。但是当我在 android 设置中检查我的应用程序的应用程序信息时,存储权限选择器在应用程序信息页面中不可用。但是,所有其他权限选择器都在那里。
我的问题不是关于我如何请求棉花糖的许可。我已经在我的代码中定义了运行时权限。清单文件中的所有必需的使用权限也是如此。但是,我仍然没有在 android 设置的应用信息中获得存储权限。
【问题讨论】:
@AbdulmalekDery 你仔细阅读问题了吗?你提到的问题怎么重复? @AbdulmalekDery 我已经在课堂上添加了该代码,但我仍然没有在 android 设置的应用信息中看到该权限 好的...抱歉 【参考方案1】:这是我检查权限是否已被允许的一段代码。
当用户点击相机或存储时调用此函数:
//>=Marshmallow(23) needs app to request run-time permissions to use some features.
if (Build.VERSION.SDK_INT >= 23)
if (checkPermission())
//permission to use Camera is already granted, now pick image
open camera or file picker
else
//App can still ask user for permission.
requestPermission();
checkPermission 函数:
private boolean checkPermission()
int result = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
return result == PackageManager.PERMISSION_GRANTED;
这里是 requestPermission 函数:
private void requestPermission()
ActivityCompat.requestPermissions(this,
new String[]Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
PERMISSION_REQUEST_CODE);
清单文件:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
编辑:也回答你的问题,通过这种方式我可以在应用程序权限设置中看到存储权限。
【讨论】:
感谢您的回答,但我已经在清单文件中定义了权限但无法正常工作。【参考方案2】:我不知道问题是什么,但我通过在 android 清单类本身的权限上添加标签解决了我的问题。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>
【讨论】:
了不起的兄弟,你拯救了我的一天。谢谢! => 工具:node="replace" 查看apk中的AndroidManifest.xml,好像是添加了<uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE" maxSdkVersion="18" />
,本质上是去掉了。让tools:node="replace"
将该行替换为没有maxSdkVersion
的行。以上是关于存储访问权限在应用信息中不可见的主要内容,如果未能解决你的问题,请参考以下文章