В Android P и новее, как проверить, включена ли точность определения местоположения Google - PullRequest
0 голосов
/ 16 мая 2019

В версиях Android до P местоположение можно проверить, используя что-то вроде этого:

      int locationMode = -1;
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
        try {
            locationMode = Settings.Secure.getInt(context.getContentResolver(),Settings.Secure.LOCATION_MODE);

            } catch (SettingNotFoundException e) {
            e.printStackTrace();
            }

        return (locationMode != Settings.Secure.LOCATION_MODE_OFF && locationMode == Settings.Secure.LOCATION_MODE_HIGH_ACCURACY); //check location mode

    }else{
        locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
        return !TextUtils.isEmpty(locationProviders);
    }

На основании: как узнать, находится ли устройство в режиме высокой точности

В Android P и более поздних версиях LOCATION_MODE устарела, а точность определения местоположения была перенесена в Точность определения местоположения Google и стала тумблером включения / выключения. Как мы можем узнать, включено ли это / выключено в коде?

Для скриншотов изменений пользовательского интерфейса в P см. Обзор функций Android P

...