Разрешения для папки не выдаются даже после того, как запрос на доступ был принятAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Разрешения для папки не выдаются даже после того, как запрос на доступ был принят

Сообщение Anonymous »

Я бьюсь над этой проблемой около недели, но не вижу пути вперед. Для контекста я переношу приложение C++ на Android NDK, которое требует сохранения данных в общедоступных папках, к которым другие приложения также должны иметь доступ, например приложение, которое загружает определенные файлы или ресурсы, которые будут использоваться приложением NDK.
Эта папка в основном соответствует Storage/emulated/0/COMPANY_NAME/*, где * — это несколько пользовательских папок, таких как «Активы», «Журналы» и т. д. Насколько я понимаю, Android 11+ ужесточил модель разрешений, поэтому теперь, если мне нужен полный доступ к папкам, мне нужно использовать
MANAGE_EXTERNAL_STORAGE в манифесте (это приложение не загружается из магазина воспроизведения, поэтому мне не нужно беспокоиться о том, что они его примут)
А затем в коде вызовите JNI, чтобы получить разрешение, и проверьте, есть ли у действия Environment.isExternalStorageManager, и если нет, создайте такое намерение:

Код: Выделить всё

val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)
intent.data = "package:$packageName".toUri()
startActivityForResult(intent, REQUEST_MANAGE_EXTERNAL_STORAGE)
Однако после этого и проверки Environment.isExternalStorageManager, чтобы убедиться, что у меня есть разрешение (и принятия всплывающего окна), любая попытка создать папки или получить доступ к файлам по-прежнему приводит к отказу в разрешении. Кто-нибудь знает, в чем может быть проблема, или может дать ссылку на примеры рабочего кода для Android 11+, который имеет полный доступ к общедоступным файлам?

Подробнее здесь: https://stackoverflow.com/questions/798 ... s-accepted
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»