Android动态权限学习笔记

Android动态权限学习笔记

很多时候,我们很好奇android.os.Build.VERSION.SDK_INT和Android系统之间的关系。
比如Android6.0之后要动态申请权限,就要判断Android系统版本。
然后我们会经常看到类似的代码
if(Build.VERSION.SDK_INT>=23){
//检查是否已经给了权限
int checkpermission= ContextCompat.checkSelfPermission(getApplicationContext(),
Manifest.permission.ACCESS_FINE_LOCATION);
if(checkpermission!=PackageManager.PERMISSION_GRANTED){//没有给权限
Log.e(“permission”,“动态申请”);
//参数分别是当前活动,权限字符串数组,requestcode
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}
}

很多人都很奇怪为什么Build.VERSION.SDK_INT>=23,系统就是6.0以上的呢?
因为每一个Build.VERSION.SDK_INT对应的都是不同的系统版本,比如13对应的是4.0,而23对应的是6.0,所以Build.VERSION.SDK_INT>=23就是6.0以上的系统版本。
我们要先判断用户手机是不是6.0,当超过6.0了再请求权限就可以了,不然不申请的话,一些被谷歌列为危险权限的东西会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值