android6.0 一些動態權限申請

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;
        }
    }

至此,什麼動態權限都能參考此代碼,如有其它問題,可以留言告訴我。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章