1. 程式人生 > >android6.0動態許可權設定

android6.0動態許可權設定

android6.0後就需要手動獲取許可權。主要有以下步驟:

1、在menifests檔案加入相應許可權,如:

<!-- 獲取照相機拍照許可權 -->
<uses-permission android:name="android.permission.CAMERA"/>

2、檢查是否已經獲取到許可權,主要針對android6.0及以上

  if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
      // 沒有照相機許可權,去請求系統獲取許可權
      ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, CAMERA_OK);
   }else{
      // 已經有相機許可權
   }

3、得到系統許可權返回

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode) {
            case CAMERA_OK:
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    // 有許可權

                } else {
                    // 沒有許可權
                    Toast.makeText(ScanningActivity.this, "您沒有開啟相機許可權", Toast.LENGTH_SHORT).show();
                }
                break;
            default:
                break;
        }
    }
完畢!