2016-04-29 14 views
-5

Android Marshmallowの実行時アクセス許可を処理するための最善のAndroidライブラリはありますか?Android IceCreamSandwichまたはGingerbreadを実行しているデバイスでアプリケーションが壊れることはありません。Androidランタイムアクセス許可の処理

+0

私が作成したクラスをチェックし、それをフラグメントで使用することができます。 これはフラグメント用であり、単一のアクセス権を要求した場合です。 – toshkinl

答えて

0

あなたがPermissionUtilライブラリを使用してonRequestPermissionsResult

@Override 
public void onRequestPermissionsResult(int requestCode, 
    String permissions[], int[] grantResults) { 
switch (requestCode) { 
    case MY_PERMISSIONS_REQUEST_READ_CONTACTS: { 
     // If request is cancelled, the result arrays are empty. 
     if (grantResults.length > 0 
      && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 

      // permission was granted, yay! Do the 
      // contacts-related task you need to do. 

     } else { 

      // permission denied, boo! Disable the 
      // functionality that depends on this permission. 
     } 
     return; 
    } 

    // other 'case' lines to check for other 
    // permissions this app might request 
} 
} 

詳細refer here

+0

私は許可を与えるためだけに多くのコードを書く必要はありません。 PermisoやNammuのような外部ライブラリは、実行時のアクセス権を処理するために書かれたコードの量を減らすのに役立ちます。可能な限り最良の方法で実行時アクセス権を処理する外部ライブラリを知りたい –

0

を使用して実行時の権限を扱うことができ、人生は非常に簡単になります。ここでは、ユーザーの応答に権限と行動を求めることができますどのようにされています

mRequestObject = PermissionUtil.with(this).request(Manifest.permission.WRITE_EXTERNAL_STORAGE).onAllGranted(
       new Func() { 
        @Override protected void call() { 
         //Happy Path 
        } 
       }).onAnyDenied(
       new Func() { 
        @Override protected void call() { 
         //Sad Path 
        } 
       }).ask(REQUEST_CODE_STORAGE); 

とあなたの活動のonRequestPermissionsResultに、このメソッドを呼び出す:

mRequestObject.onRequestPermissionsResult(requestCode, permissions, grantResults); 

マニフェストする権限を追加することを忘れないでください。

関連する問題