#android #storage #android-file #android-11
Вопрос:
Мне нужно создать временный файл изображения для моей камеры, чтобы записать его, пока он находится внутри WebView
.
Все работало нормально до того, как я начал ориентироваться на Android 11, SDK 30.
Я пытался найти решения, я включил разрешения на хранение: MANAGE_EXTERNAL_STORAGE
, QUERY_ALL_PACKAGES
, WRITE_EXTERNAL_STORAGE
, REQUEST_INSTALL_PACKAGES
в манифесте, и когда приложение запускается, оно new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, uri)
также запрашивает разрешение.
Но даже при этом мое временное File
не создается. Я пытался найти решения, но, похоже, не могу их найти. В каком направлении мне следует искать, чтобы создать временный файл?
Мой код для создания временного файла:
private File createImageFile() throws IOException {
String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" timestamp "_";
File storageDir = activity.getExternalFilesDir(Environment.DIRECTORY_PICTURES);
return File.createTempFile(imageFileName, ".jpg", storageDir);
}
Комментарии:
1. Ваш код в порядке, и вам не нужно для этого никакого разрешения. Ни для какой версии Android.
2. Далее: createTempFile() вызовет исключение IOException, если не сможет создать файл.