关于android6.0动态权限造成的app crash问题

本文介绍了在Android 6.0系统中,由于动态权限管理导致的APP崩溃问题。从权限检查、请求权限、解释权限原因以及处理请求权限结果四个方面进行了详细阐述,强调了在Android 6.0及以上版本,对于涉及隐私的权限,应用必须在运行时检查并请求用户授权,否则可能导致程序异常。
摘要由CSDN通过智能技术生成

今天我们为公司内部员工开发的app出现了一个bug,因为我们的app要绑定imei所以我就读取imei并且有个权限READ_PHONE_STATE就是这个权限出现了问题,我就纳闷了怎么会有问题呢,我已经在manifest上声明了,然后我就看一下他的android版本6.0(什么时候国产手机系统跟进竟然这么快了!),我就去搜了一些相关资料才发现是android6.0涉及到隐私的权限是动态的,也就是说你每次调用的方法如果涉及到隐私都需要检查一下该权限,因为用户可以随时取消你得相关授权。

权限检查

你可以通过ContextCompat.checkSelfPermission()方法来验证你的应用是否拥有某个权限。比如,下面的代码段是检查是否有拥有写日历权限:

// 假设 thisActivity 是当前的 Activity
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.WRITE_CALENDAR);
  如果该应用已经获取到该权限,该方法返回PackageManager.PERMISSION_GRANTED并且程序可以继续运行。如果该应用未被授予该权限,这个方法会返回PERMISSION_DENIED

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值