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;
}
}
至此,什麼動態權限都能參考此代碼,如有其它問題,可以留言告訴我。