Android – обработка разрешения на хранение для API 33 и более поздних версийJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Android – обработка разрешения на хранение для API 33 и более поздних версий

Сообщение Anonymous »

Из-за обновлений Политики конфиденциальности Google, если основной целью вашего приложения не является постоянный доступ к хранилищу/галерее (например, приложения для социальных сетей), Google не одобряет публикацию приложения в Play Store, если READ_MEDIA_IMAGES или MANAGE_EXTERNAL_STORAGE объявлен в файле манифеста. Google утверждает, что вместо этих разрешений можно использовать Image Picker (ограниченный доступ к галерее).
Однако, поскольку приложение поддерживает широкий спектр версий (API 23 и выше), Контроль разрешений READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE возвращает false на устройствах API 33 и выше в случае запроса разрешения, поэтому соответствующая операция не может быть выполнена, хотя используется Image Picker.
Псевдокод того, что я делаю:

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

if(hasStoragePermission()){
doSomething() // like access galery
}else{
requestStoragePermission()
}

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

fun hasStoragePermission() : Boolean {
return
if (Build.Version_Code >= Tiramisu){
true // I know that this way is not good but if I control the READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE, it returns false
}else{
hasPermission(READ_EXTERNAL_STORAGE) && hasPermission(WRITE_EXTERNAL_STORAGE)
}
}

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

fun requestStoragePermission() : Boolean {
if (Build.Version_Code >= Tiramisu){
requestPermission(READ_EXTERNAL_STORAGE)
}else{
requestPermission(READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE)
}
}
Примечание. Если ваше приложение предназначено для Build.VERSION_CODES.R или выше, WRITE_EXTERNAL_STORAGE не имеет никакого эффекта.
Короче говоря, я использую Image Picker для всех поддерживаемых API, кроме API 32 и ниже, мне нужно запросить внешнее хранилище READ и WRITE, поэтому я правильно запрашиваю и проверяю статус. Однако при использовании API 33 и более поздних версий я не могу запросить какие-либо разрешения, связанные с хранилищем или мультимедиа, из-за политики конфиденциальности.
Как мне обрабатывать разрешения на хранение для API 33 и более поздних версий?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -and-above
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android – обработка разрешения на хранение для API 33 и более поздних версий
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Android – обработка разрешения на хранение для API 33 и более поздних версий
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Android – обработка разрешения на хранение для API 33 и более поздних версий
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Android – обработка разрешения на хранение для API 33 и более поздних версий
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Xamarin — HybridWebViewRenderer InvokeAction не работает при настройке Android 6 и более поздних версий
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

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