Создание временного файла в Androi d11

#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, если не сможет создать файл.