Androidコードアプリケーションの権限(Android6.0以上の場合)

if(ContextCompat.checkSelfPermission(this、
                Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PERMISSION_GRANTED){// 
            if(ActivityCompat.shouldShowRequestPermissionRationale(this、
                    Manifest.permission.WRITE_EXTERNAL_STORAGE)
                ダイアログ)ボックス{ //あなたはここにアクセス許可が付与されているかどうかを判断しますこのような項目は、許可を申請する必要がある理由をユーザーに説明し、ダイアログボックスの確認キーで再度許可を申請します。ユーザーが「もう質問しない」を選択するとfalseを返します

            } else { 
                //文字列配列内で許可を適用しますこれは、適用する1つ以上の権限です。1は、権限要求結果の戻りパラメーターです。アプリケーション結果は、onRequestPermissionsResult 
                ActivityCompat.requestPermissions(this、
                        new String [] {Manifest.permission.WRITE_EXTERNAL_STORAGE、
                                Manifest.permission.READ_EXTERNAL_STORAGE}、 1);
}} 
 
rewrite onRequestPermissionsResult 
{
if(requestCode == 1){// requestCode値が1の
            場合(int i = 0; i <permissions.length; i ++){ 
                if(grantResults [i] == PERMISSION_GRANTED){ 
                    Toast.makeText( this、 "" + "permissions" + permissions [i] + "application successful"、Toast.LENGTH_SHORT).show(); 
                } else { 
                    Toast.makeText(this、 "" + "permissions" + permissions [i] + "アプリケーションが失敗しました "、Toast.LENGTH_SHORT).show(); 
                } 
            } 
        } 
}

  

宿主における活性
@Override 
公共 ボイド onRequestPermissionsResult(int型 requestCode、@NonNullのString []権限、@NonNull INT [] grantResults)
  { 
       スーパー.onRequestPermissionsResult(requestCode、アクセス許可、grantResults);
        // フラグメントの活性下で取得 
       一覧<断片> =フラグメント。getSupportFragmentManager()getFragments();
        IF(断片== NULL 
       { 
           リターン; 
       } 
       // onRequestPermissionsResultフラグメント方法およびコール検索
       のための(断片フラグメント:フラグメント)
       { 
           IF(fragment!= null 
           { 
               // FragmentのonRequestPermissionsResultメソッドはここで呼び出されます
               fragment.onRequestPermissionsResult(requestCode、permissions、grantResults); 
           } 
       } 
   }

 2. フラグメントのみが次の方法でアクセス許可をリクエストします

fragment.requestPermissions(mPermissionList、REQUEST_CODE_CAMERA )
ActivityCompat / ContextCompat 

ActivityCompat.requestPermissions((AppCompatActivity)コンテキストの代わりに新しい文字列[] {Manifest.permission.CAMERA}、PERMISSION_REQUEST_CODE)

 

おすすめ

転載: www.cnblogs.com/matd/p/12734879.html