одного из пользователей выходит exception:
java.lang.SecurityException: No permission to write to /storage/emulated/0/Download/priroda-ochistilas.jpg: Neither user 10251 nor current process has android.permission.WRITE_EXTERNAL_STORAGE.
Как оказалось по коду,exception выходит,даже если permission granted и он есть в манифесте. Я загружаю файл так:
val request: DownloadManager.Request = DownloadManager.Request(uri)
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,uri.lastPathSegment)
loadIds[index] = dM.enqueue(request)
Самое интересное,что у меня на android 11,как и раньше на android 10 всё нормально работает. Подскажите пожалуйста,в чём может быть дело?
А как проверили, что permission granted? С помощью checkSelfPermission, надеюсь?
Конечно,только креш всё равно был.
Покажите код с запросом checkSelfPermission и вашей попыткой доступа к хранилищу рядом
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE==PackageManager.PERMISSION_GRANTED)) { val request: DownloadManager.Request = DownloadManager.Request(uri) request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, uri.lastPathSegment) loadIds[index] = dM.enqueue(request) }
Пробовали переустанавливать приложение/сделать такой же доступ к иному файлу?
Да,пользователь пробовал. Обидно то,что у меня всё ok,а вот у пользователя с android 9 на Самсунге такая проблема.
А такая строка тоже true выдаст? ContextCompat.checkSelfPermission(context, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
Я не знаю,но думаю,да.
Обсуждают сегодня