#android
Вопрос:
Я пытаюсь перечислить все PDF-файлы из внешнего хранилища с помощью кода ниже, он работает на Android
val pdfMineType =
MimeTypeMap.getSingleton().getMimeTypeFromExtension("pdf")
val queryUri = MediaStore.Files.getContentUri("external")
val selection = MediaStore.Files.FileColumns.MIME_TYPE
"='"
pdfMineType "'"
val projection = arrayOf(
MediaStore.Files.FileColumns._ID,
MediaStore.Files.FileColumns.DATA,
MediaStore.Files.FileColumns.DATE_ADDED,
MediaStore.Files.FileColumns.MEDIA_TYPE,
MediaStore.Files.FileColumns.MIME_TYPE,
MediaStore.Files.FileColumns.TITLE,
MediaStore.Files.FileColumns.SIZE
)
var sortQuery = MediaStore.Files.FileColumns.DATE_MODIFIED " DESC"
cursor = ctx.contentResolver.query(
queryUri,
projection,
selection,
null,
sortQuery
)
Кто-нибудь знает, как заставить его работать на Android 11, пожалуйста, помогите мне..
Комментарии:
1. Пожалуйста, покажите значения используемых переменных.
2. Вы запускаете приложение на Android 11 и ориентируетесь на сборку для Android 10?
3. @Jordan оба не работают(нацелены на Android 10 и 11) Также для Play Store потребуется целевой sdk 30 с августа 2021 года
4. @blackapps обновлено
5. Для временного исправления на данный момент вы можете настроить сборку для API 10 и использовать флаг
requestLegacyExternalStorage
. Согласно официальным документам Android: Этот флаг позволяет приложениям временно отказаться от изменений, связанных с областью хранения, таких как предоставление доступа к различным каталогам и различным типам медиафайлов. После обновления приложения для Android 11 система игнорирует флаг requestLegacyExternalStorage.