Androidが携帯電話の権限を取得する2つの方法

1650 ワード

1つ目:
コードは次のとおりです.
if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.WRITE_EXTERNAL_STORAGE)
!=PackageManager.PERMISSION_GRANTED){
    Acitvitycompat.requestPermission(MainActivity.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
}


@Override
public void onRequestPermissionRequest(int requestCode,String[]permissions,int[] grantResults){
    switch(requestCode){
        case 1:
            if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
                //    
            }
            else{
                Toast.makeText(this,"      ",Toast.LENGTH_SHORT).show();
            }
            break;
    }
}

まずcheckSelfPermission()メソッドを呼び出して権限が取得されたかどうかを確認し、それがなければrequestPermission()メソッドを呼び出して権限を申請します.その後、onRequestPermissionRequest()メソッドにコールバックして、権限が正常に申請されたかどうかを判断します.
2つ目:
最初にインポート:
implementation 'com.master.android:permissionhelper:1.3'

コードは次のとおりです.
permissionHelper = new PermissionHelper(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 100);
permissionHelper.request(new PermissionHelper.PermissionCallback() {
     @Override
     public void onPermissionGranted() {
           //    
     }

     @Override
     public void onIndividualPermissionGranted(String[] grantedPermission) {
              
     }

     @Override
     public void onPermissionDenied() {
                
     }

     @Override
     public void onPermissionDeniedBySystem() {
                
     }
});

第2の方法はpermissionHelperツールクラスによって権限申請を行う.