如何在android M中处理运行时权限auth

1 android-permissions android-6.0-marshmallow

我想知道要求用户进行权限检查的最佳做法以及如果用户拒绝该特定权限访问则要运行的代码.

Suh*_*hta 7

此示例设置状态以获取CONTACTS权限

private static final int PERMISSIONS_REQUEST_READ_CONTACTS = 1;
private static String[] PERMISSIONS_CONTACT = {Manifest.permission.READ_CONTACTS}

if (checkSelfPermission(PERMISSIONS_CONTACT)) {
   Log.i(TAG,
           "Contact permissions have already been granted. Displaying contact details.");
} else {
   Log.i(TAG, "Contact permissions has NOT been granted. Requesting permission.");
   requestPermissions(PERMISSIONS_CONTACT, PERMISSIONS_REQUEST_READ_CONTACTS);
}

…

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
   switch (requestCode) {
       case PERMISSIONS_REQUEST_READ_CONTACTS: {
           if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
               // permission was granted, yay! do the
               // calendar task you need to do.
               Log.d(TAG, "permission granted");
           } else {
               // permission denied, boo! Disable the
               // functionality that depends on this permission.
               Log.d(TAG, "permission denied");
           }
           return;
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

您可以点击链接 http://www.applicoinc.com/blog/android-m-permissions-review/