Задать вопрос
@Dmtm
Android

Как запросить permission из фоновой задачи (service, worker, thread...)?

Гугл учит запрашивать пермишены только в момент перед использованием,
представим сервис который что-то долго считает и иногда хочет писать на карточку,
предварительно проверять разрешения - не вариант, сервис фоновый, пользователь может свернуть приложение и отозвать разрешение.
Интересует логика решения.
  • Вопрос задан
  • 38 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Пригласить эксперта
Ответы на вопрос 2
thelongrunsmoke
@thelongrunsmoke
Программист
int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.SOME_PERMISSION);

Проверяете разрешение, проверяете наличии карты памяти, если что-то не так - выводите уведомление, которое отправит пользователя в приложение, для решения этих проблем.
Данные можно сохранить в файл, в песочницу, чтобы их не выгрузило из памяти.
Ответ написан
Комментировать
402d
@402d
начинал с бейсика на УКНЦ в 1988
я сделал так.
в момент первого запуска я вывожу
ju02KwytxoG1qy2wPl4ZSLOIU8JOsqnd_o3DKRPh

Нажмет на кнопку - будет сделан запрос на права.
На странице настроек . Если пермишен не дан, Уведомление и кнопка дать.
Если сервис нарвался на ошибку из-за пермишена. Останов работы .
Вывод NotGrantPermActivity (простенькая такая с описанием УПС! и кнопкой дать пермишен)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы