1. 程式人生 > 其它 >Android 動態申請許可權

Android 動態申請許可權

現在Android手機許可權越來越嚴了,需要使用者主動申請許可權。

Android 使用者主動申請許可權如下程式碼:

1、請求許可權

private void requestPermission() {

        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
            if (ContextCompat.checkSelfPermission(GarbargeCleanActivity.this,Manifest.permission.DELETE_CACHE_FILES)!= PackageManager.PERMISSION_GRANTED){
                
//沒有許可權則申請許可權 ActivityCompat.requestPermissions(GarbargeCleanActivity.this,new String[]{Manifest.permission.DELETE_CACHE_FILES},REQUEST_CODE); }else { //有許可權直接執行,docode()不用做處理 clearAllCache(); } }else { //小於6.0,不用申請許可權,直接執行
clearAllCache(); } }

2、在Activity中新增onRequestPermissionsResult 方法 ,如下:

   @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        if (requestCode == REQUEST_CODE){
            if (permissions[0].equals(Manifest.permission.DELETE_CACHE_FILES)
                    
&&grantResults[0] == PackageManager.PERMISSION_GRANTED){ //使用者同意使用write clearAllCache(); }else{ //使用者不同意,自行處理即可 // } } }
    private static final int REQUEST_CODE = 1;

3、AndroidManifest.xml 檔案中新增對應許可權

  <uses-permission
        android:name="android.permission.DELETE_CACHE_FILES"
        tools:ignore="ProtectedPermissions" />