1. 程式人生 > >Android 動態許可權獲取

Android 動態許可權獲取

許可權校驗方法


PackageManager packageManager=getPackageManager();
                if(PERMISSION_GRANTED==packageManager.checkPermission("android.permission.WRITE_EXTERNAL_STORAGE","com.actiview.batterymanage")){
                    MyToast.show(MainActivity.this,"寫有許可權");
                }else {
                    MyToast.show
(MainActivity.this,"寫無許可權"); }

校驗是否有許可權,如果沒有去獲取許可權


if (ContextCompat.checkSelfPermission(MainActivity.this,
     "android.permission.WRITE_EXTERNAL_STORAGE")!= PERMISSION_GRANTED) {
        if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
                "android.permission.WRITE_EXTERNAL_STORAGE"
)) { } else { ActivityCompat.requestPermissions(MainActivity.this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_EXTERNAL_STORAGE"}, 1); } } @Override public void onRequestPermissionsResult
(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == 1) { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PERMISSION_GRANTED) { Toast.makeText(this, "" + "許可權" + permissions[i] + "申請成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "" + "許可權" + permissions[i] + "申請失敗", Toast.LENGTH_SHORT).show(); } } } }