Как централизовать разрешение времени выполнения, когда у нас есть несколько действий

Извините за мой плохой английский.

У меня есть несколько Activity в моем приложении, мне нужно централизовать разрешение на использование во время выполнения.

Нужно ли использовать BaseActivity ?

Если да, пожалуйста, предложите мне, как обращаться с ним в случае многих Activity в приложении.

Если нет, предложите лучший подход к его обработке.

Я хочу уменьшить избыточность кода. Не интересно писать один и тот же код снова и снова с каждым действием.

Я ищу отрицательный сценарий, где пользователь отказал в разрешении, и я должен показать рациональность, вместо того чтобы продолжать просить разрешения. И на основании этого я должен предоставить сообщение или мне нужно обновить интерфейс

    Если у вас 10 видов деятельности, и все они нуждаются в разрешении на размещение. Затем я думаю, что это очень важное разрешение для вашего приложения.

    Для получения критического разрешения, если оно не разрешено пользователем, вы можете закрыть свое приложение, следовательно, сделать это на самой первой активности. Как и в facebook, для разных разрешений. Это может быть плохой опыт для пользователя, но это необходимо для вашего приложения.

    Просто напишите его один раз в первом действии и остановите приложение, если оно не разрешено пользователем. Многие флагманские приложения делают это.

    Были введены разрешения на время работы для контроля над опасными ресурсами

    Поэтому в идеале вы должны проверять разрешение каждый раз, когда используете ресурс. Этот код нельзя исключать.

    Затем, когда требуется запросить разрешение, это один строковый код. Я не думаю, что у вас есть проблемы с этим.

    Теперь наступает сложная часть. Обработка предоставленных разрешений. У вас определенно есть базовый класс (не рекомендуется), но в идеале другое разрешение используется для разных целей.

    Например, разрешение на размещение:
    В той же Деятельности скажите Location.java, мне может понадобиться разрешение на размещение адреса человека, использующего значения LatLon, и в той же самой работе я использую разрешение на размещение для прямого отслеживания пользователя.

    Теперь для обработки различных реализаций для того же разрешения вы должны иметь уникальные коды разрешений на основе этой цели, но не на основе ресурса, к которому вы обращаетесь. Обработка всех этих вещей в базовом классе может быть сложной задачей. Поэтому в идеале вы должны обрабатывать разрешение в том виде, в котором оно принадлежит. Он сохранит ваш код в безопасности и предотвратит любые путаницы с другими кодами.

    Всегда рекомендуется читать официальные документы .

    Могут быть случаи, когда вы можете запутаться в избыточности кодов и нескольких реализаций. Для этого Android обрабатывает большую часть кода в своем конце, как программист, наименее ожидаемым является проверка разрешений и выполнение соответствующих операций везде, где используются опасные ресурсы.

    Intereting Posts
    Почему AsyncTask не запускается, если он запускается / останавливается повторно? Запись многострочного текста на кнопке на Android Невозможно запустить AVD в эмуляторе. ? Андроид-студия Как получить Textinputlayout подскажите андроид в нескольких строках? Службы Google Play устарели. Требуется 3025100, но найдено 2012110 Как настроить состояние щелчка для моей пользовательской кнопки? Как получить версию приложения с помощью libgdx / robovm Каков максимальный объем данных, который может содержать строка в java? Как поместить RecyclerView под панелью инструментов и над TabLayout и ViewPager также обрабатывать ответы на свитки по-своему? Жизненный цикл Android, событие которого запускалось только один раз в течение жизненного цикла? Как сделать пространство между spannable string в Android? Отправка изображений, таких как WhatsApp Удалить уведомление из панели уведомлений из других приложений Android отключить показ клавиатуры на dialog.show Неверный способ запуска SMS-намерения в Android