Прежде всего, будьте осторожны, объявляя это разрешение также в манифесте. Если это не сработает. Вы можете использовать простую библиотеку разрешений, которая упрощает запрос разрешений.
Простая реализация разрешений:
implementation 'pub.devrel:easypermissions:3.0.0'
после этого вы реализуете библиотеку, используйте этот код во время выполнения в вашей MainActivity. код ниже:
public class MenuActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks
После того, как вы реализуете код в верхних 3 методах, вы можете справиться с ситуацией по-своему.
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
@Override
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
}
@Override
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(this).build().show();
}
}