Код: Выделить всё
ActivityResultLauncher requestPermissionLauncher =
registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted -> {
if (!isGranted) {
Toasty.error(context, "Can't continue without the required permissions", Toast.LENGTH_LONG).show();
}
});
Код: Выделить всё
if (ActivityCompat.checkSelfPermission(context,
Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissionLauncher.launch(Manifest.permission.READ_EXTERNAL_STORAGE);
return;
}
Приложение работает на физическом устройстве с Android 14. Я проверил флаг разрешения моего устройства с помощью команды «adbshell dumpsys package MY_PACAKGE_NAME» и получил флаги как -
Код: Выделить всё
android.permission.READ_EXTERNAL_STORAGE: granted=false, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED|RESTRICTION_INSTALLER_EXEMPT]
И мой манифест приложения, и объединенный манифест имеют следующее -
Код: Выделить всё
Код: Выделить всё
minSdkVersion 28
targetSdkVersion 34
Появляется всплывающее окно. на эмуляторе, работающем под управлением Android 12L.
Я попробовал включить все разрешения, необходимые в разделе «Информация о приложении > Разрешения приложения», но мое приложение все равно не может прочитать внешнее хранилище, т. е. все изображения из сегмент внешнего носителя (из других общих папок — из других приложений, таких как Facebook, WhatsApp, папка загрузки и т. д. Мое приложение считывает только изображения папки камеры DCIM).
Подробнее здесь: https://stackoverflow.com/questions/791 ... in-android