大家都知道,Android 6.0中,某些权限属于Protected Permission,例如:读写手机存储权限,仅仅在AndroidManifest.xml中申明是无法真正获取到权限的,打开手机的权限管理页面,我们可以看见,读写手机存储权限栏是一个问号,这意味着App并未获取到该权限。
这是访问手机存储时,会报出类似下面的错误:
java.io.FileNotFoundException:*** (Permission denied)
有一个简单粗暴的方法,就是在App安装完成之后,手动在手机上将该权限改为允许。但是这种方法太low了,给用户带来的体验也很差。我们希望通过代码动态的获取此权限,用户只需要在第一次安装时,在弹出的窗口点击一下允许,就可以啦。
实现代码:
if (Build.VERSION.SDK_INT >= 23) {
int REQUEST_CODE_CONTACT = 101;
String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};
//验证是否许可权限
for (String str : permissions) {
if (this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {
//申请权限
this.requestPermissions(permissions, REQUEST_CODE_CONTACT);
}
}
}
android 抛出FileNotFoundException异常
android 抛出FileNotFoundException异常大家都知道 Android 6 0 中 某些权限属于 Protected Permission 例如 读写手机存储权限 仅仅在 AndroidManif xml 中申明是无法真正获取到权限的 打开手机的权限管理页面 我们可以看见 读写手机存储权限栏是一个问号 这意味着 App 并未获取到该权限 这是访问手机存储时 会报出类似下面的错误 java io
2025年uint32-t_c语言uint32_t类型
上一篇
2025-03-22 20:17
2025年TODO「建议收藏」
下一篇
2025-01-25 12:27
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/124872.html