2015-12-28 2 views
-3

я был в состоянии справиться с опасными разрешения на Android 6, используя эту строку кода в моей деятельности:запомнить requestPermissions на андроид Зефир

ActivityCompat.requestPermissions(WriteThreadActivity.this, 
      new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE, 
        android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, RESULT_LOAD_IMAGE); 

Он отлично работает, но в любом случае, чтобы предотвратить показ этого всплывающего окна открывается каждый раз, когда пользователь эта деятельность? Что-то вроде метода запоминания?

ответ

1
// Here, thisActivity is the current activity 
if (ContextCompat.checkSelfPermission(thisActivity, 
      Manifest.permission.WRITE_EXTERNAL_STORAGE) 
    != PackageManager.PERMISSION_GRANTED) { 

// Should we show an explanation? 
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, 
     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(thisActivity, 
      new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 
      MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE); 

    // MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE is an 
    // app-defined int constant. The callback method gets the 
    // result of the request. 
} 
}else{ 
    // You have permission granted already, to the task 
} 
+0

Вам не нужно Запрос разрешения READ_EXTERNAL_STORAGE если вы запрашиваете для WRITE_EXTERNAL_STORAGE как в одной и той же группы разрешений, он получит доступ автоматически. – John

0
private boolean doesUserHavePermission() 
{ 
    int result = context.checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE); 
    return result == PackageManager.PERMISSION_GRANTED; 
} 
Смежные вопросы