关于小米6.0以上系统手机动态获取权限问题

之前一直没发现,直到这次小米应用商店上线的时候被打回,网上百度了一下才知道小米手机还有一个这么大的坑!!!
由于小米对android系统的修改,导致部分小米6.0以上系统手机,在动态获取权限的时候失败。
先说说我的问题,我是在动态获取 android.permission.READ_PHONE_STATE 权限时出的错。

if (Build.VERSION.SDK_INT >= 23) {

int checkCallPhonePermission = ContextCompat.checkSelfPermission(WelcomeActivity.this, Manifest.permission.READ_PHONE_STATE); if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CODE_READ_PHONE_STATE); return; } else { //获取动态后的实现 } } else {
//23之前自动获取权限
}
就在这个地方,小米这个坑,不管系统设置是 允许 还是 拒绝, 这个地方 checkCallPhonePermission 返回值都是0,就是说出了选择是否拒绝权限,在系统里设置
拒绝还是允许到了这里都是允许。
然后百度,找到了这个
//适配小米机型
AppOpsManager appOpsManager = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);
int checkOp = appOp

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值