Средство выбора фотографий Android 13 выдает FileNotFoundException

Я использовал средство выбора фотографий для получения фотографий и следую https://developer.android.com/training/data-storage/shared/photopicker . Мы видели сбой нескольких устройств ниже на устройствах Android 11 и выше.

Нефатальное исключение: java.io.FileNotFoundException: такого файла или каталога в android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:156) нет.

      // Fragment  to get a photo uri.

val launcher = rememberLauncherForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->

    passToAdapter(uri)
}

Button(
    choosePhoto = {
        //On button press, launch the photo picker
        launcher.launch(PickVisualMediaRequest(
            //Here we request only photos. Change this to .ImageAndVideo if you want videos too.
            //Or use .VideoOnly if you only want videos.
            mediaType = ActivityResultContracts.PickVisualMedia.ImageOnly
        ))
    }
)

   
Adapter:

// get application context .

val inputStream = context.contentResolver.openInputStream(uri) // crash at here.

Обратите внимание: я получаю доступ к этому URI в разных фрагментах/действиях, поэтому, если я использую класс приложения, я считаю, что это должно решить мою проблему.

Я подозреваю, что проблема связана с отсутствием строк ниже.

флаг val = Intent.FLAG_GRANT_READ_URI_PERMISSIONcontext.contentResolver.takePersistableUriPermission(uri, flag)

0 ответов

Другие вопросы по тегам