Android6.0获取动态权限代码示例
Android系统对所有的危险权限进行了分组,称为权限组。属于同一组的危险权限将自动合并授予,用户授予应用某个权限组的权限,则应用将获得该权限组下的所有权限(前提是相关权限在AndroidManifest.xml中有声明)。
危险权限和权限组列表如下:在AndroidManifest.xml声明过的危险权限对应的权限组可以在系统“设置”->“应用”->“应用信息”->“权限”中查看,可以手动授权和取消授权。
1、设备系统是Android6.0(API23)或更高版本,并且应用的targetSdkVersion是23或更高版本,则针对在AndroidManifest.xml中声明的危险权限,在运行时还需要动态请求用户授权。
2、动态权限请求相关操作的API封装在在android.support.v4包中,发起请求权限的Activity需要直接或间接继承android.support.v4.app.FragmentActivity。
3、也可以在直接或间接继承android.support.v4.app.Fragment的Fragment中发起权限请求。
首先在清单文件中注册
然后在MainActivity.java中将权限封装到一个String数组中
staticfinalString[]PERMISSION=newString[]{
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.RECEIVE_BOOT_COMPLETED
};
然后在onCreate()方法中加入一下代码:
if(ContextCompat.checkSelfPermission(this,Manifest.permission.READ_CONTACTS)!=PackageManager.PERMISSION_GRANTED){
//Android6.0申请权限
ActivityCompat.requestPermissions(this,PERMISSION,1);
}else{
Toast.makeText(this,"成功",Toast.LENGTH_SHORT).show();
}
我通常将上述代码写在另一个方法中,然后在onCreate()方法中调用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。