Вот мой кусок кода, как я проверяю, разрешение уже разрешено или нет.
Когда пользователь нажимает на камеру или память, вызывайте эту функцию:
//>=Marshmallow(23) needs app to request run-time permissions to use some features.
if (Build.VERSION.SDK_INT >= 23) {
if (checkPermission()) {
//permission to use Camera is already granted, now pick image
open camera or file picker
} else {
//App can still ask user for permission.
requestPermission();
}
}
функция checkPermission:
private boolean checkPermission() {
int result = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
return result == PackageManager.PERMISSION_GRANTED;
}
Вот функция requestPermission:
private void requestPermission() {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE},
PERMISSION_REQUEST_CODE);
}
Файл манифеста:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Редактировать: Также, чтобы ответить на ваш вопрос, таким образом я могу видеть разрешение на хранение в настройках разрешений приложения.