Android 6.0 手机 Checkselfpermission无效

今天想对SDK 进行对6.0适配做一些适配调整,测到对存储卡权限申请,测试过程中发现不管权限打开还是关闭,返回的都是权限打开

刚开始以为使用模拟器测试引起的,用真机测试也是相同现象,不禁怀疑是其他配置引起的。查看一下是gradle 配置问题,
即 targetSdkVersion 没有达到 23,低于23的时候会把申请的权限默认分配给该应用,但是用户通过系统设置关闭对应权限,
在程序运行时进行检测是无效的ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE),
关闭权限再调用也是不起作用的,就会引起莫名的程序问题。如果把程序的 targetSdkVersion 改成23,就可以正常查看权限了,
但是第一次安装会进行相应权限申请,这种会在用户打开程序的时候有权限申请弹窗。

当前程序 targetSdkVersion 版本检测:

  try {
        final PackageInfo info = context.getPackageManager().getPackageInfo(
                context.getPackageName(), 0);
        targetSdkVersion = info.applicationInfo.targetSdkVersion;
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值