手机安装失败java. io_Android java.io.FileNotFoundException:*** (Permission denied)

自从离开上海来到杭州之后,陆续接触了Android,Python,C++,OpenCV,最为一个新人来说,一路上遇到了很多坑,幸运的是 这互联网的强大(大傻子我还是蛮喜欢的哈),一路填填补补总算走了下来。

一直就有把自己这几个月来遇到的问题记录下来的想法,苦于没有时间(其实就是自己太懒),业精于勤荒于嘻,就以这个刚刚解决的问题作为开始吧。

接下来是正文啦~~~

大家都知道,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);

}

}

}

PS:其它的权限小伙伴们就可以以此类推啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值