Android 6.0系统权限的动态申请。
由于android 6.0的动态权限问题,导致一些功能,不能正常使用,有时还伴随着app崩溃。
解决这个功能必须要动态申请权限,用户取得权限,才能正常使用。流程代码大致如下,这里动态申请两个权限,一个是相机权限,一个是麦克风权限。
//先判断是否是大于22的android 版本
if (Build.VERSION.SDK_INT>22){
//先判断有没有权限
//android.Manifest.permission.CAMERA和android.Manifest.permission.RECORD_AUDIO
if (ContextCompat.checkSelfPermission(this,
android.Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED|| ContextCompat.checkSelfPermission(this,
android.Manifest.permission.RECORD_AUDIO)!= PackageManager.PERMISSION_GRANTED){
//没有就在这里进行权限的申请,后面是个数组可以申请多个
ActivityCompat.requestPermissions(this,
new String[]{android.Manifest.permission.CAMERA,android.Manifest.permission.RECORD_AUDIO},1);
}else {
//说明已经获取权限了 想干嘛干嘛
}
}else {
//这个说明系统版本在6.0之下,不需要动态获取权限。
}
以上是动态申请权限。
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode){
case 1:
//权限获取成功后执行回调
break;
}
}
至此,什么动态权限都能参考此代码,如有其它问题,可以留言告诉我。