2015-10-06 101 views
1

即时通讯使用nexus 6 android 6.0,只为WRITE_EXTERNAL_STORAGE权限对话框不显示其他危险的权限,它显示。权限对话框不显示android棉花糖

final private int REQUEST_CODE_ASK_PERMISSIONS = 123; 

@TargetApi(Build.VERSION_CODES.M) 
private void insertDummyContactWrapper() { 
    int hasWriteContactsPermission = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE); 

    // Here, thisActivity is the current activity 
    if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) { 

     // Should we show an explanation? 
     if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, 
       Manifest.permission.WRITE_EXTERNAL_STORAGE)) { 

      // Show an expanation to the user *asynchronously* -- don't block 
      // this thread waiting for the user's response! After the user 
      // sees the explanation, try again to request the permission. 

     } else { 

      // No explanation needed, we can request the permission. 

      ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 
        110); 

      // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an 
      // app-defined int constant. The callback method gets the 
      // result of the request. 
     } 
    } 
} 

体形:

defaultConfig { 
     applicationId "com.example.application" 
     minSdkVersion 16 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 

清单:

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" 
+0

试试这可能是工作http://stackoverflow.com/a/41221852/5488468 –

+0

你有没有找到解决方案的运气? – Dogcat

回答

2

仅供WRITE_EXTERNAL_STORAGE权限对话框不显示其他危险允许它显示

您的其他dangerous权限为READ_EXTERNAL_STORAGE。虽然我们要求权限并检查权限,但在Android 6.0用户界面中,用户授予(或拒绝)权限READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE处于同一组中。

因此,如果用户以前授予您对READ_EXTERNAL_STORAGE的请求,那么在拨打checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);时您已经有WRITE_EXTERNAL_STORAGE