Вы можете использовать Android Runtime Permission Library от nabinbhandari в вас build.gradle модуль приложения файл напишите это
//Android Runtime Permission Library
implementation 'com.nabinbhandari.android:permissions:3.8'
В ваш файл манифеста напишите
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
и в Activity объявите эти переменные
String[] permissions = new String[]{READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE};
String rationale = "Please provide storage permission to proceed ...";
И в вашем методе onCreate () напишите это
Permissions.Options options = new Permissions.Options()
.setRationaleDialogTitle("Info")
.setSettingsDialogTitle("Warning");
Permissions.check(MainActivity.this, permissions, rationale, options, new PermissionHandler() {
@Override
public void onGranted() {
// do your task.
Toast.makeText(MainActivity.this, "Permissions granted", Toast.LENGTH_SHORT).show();
}
@Override
public void onDenied(Context context, ArrayList<String> deniedPermissions) {
// permission denied
Toast.makeText(MainActivity.this, "Permissions denied", Toast.LENGTH_SHORT).show();
}
});