Как узнать, заблокировано ли местоположение или отказано ли в разрешении - PullRequest
0 голосов
/ 05 декабря 2018

Если вопрос звучит непонятно, я имею в виду, что мое приложение полностью зависит от местоположения пользователя, и мне нужно знать, как только GPS отключится или у приложения больше нет разрешения.!

В настоящее время возможны 4 способа:

  1. Отключение GPS из системного трея
  2. Отключение GPS из системных настроек
  3. Запретить разрешение на экране информации о приложении
  4. Запретить разрешение в настройках системы

Мне кажется, что 1 и 2 - это одно и то же действие, а 3 и 4 - то же самое.

см. Рисунок ниже, чтобы узнать параметры


В настоящее время я могу знать только вариант 2 с помощью BroadcastReceiver, но он имеетограничение, которое я не знаю, какое действие сделал пользователь?он включил или выключил ??он просто печатает журнал в любом случае.

 private BroadcastReceiver mGpsSwitchStateReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {

            if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
                // this triggers either the user turn on or off the GPS
                  Log.i("TAG", "onReceive: ");
            }
        }
    };

Мой вопрос не дублирует этот вопрос , потому что я прошу способ узнать, есть ли GPSотключен либо трансляцией, либо нет !?а также другой вопрос касается СМИ, а не местоположения, что совсем другое дело !!


enter image description here

...