В настоящее время я разрабатываю приложение, для которого требуется, чтобы служба определения местоположения Android была всегда активной.
Сейчас я могу определить, активирует ли пользователь деактивацию службы определения местоположения, когда он возобновляет работу приложения (в событии onResume ()).
Проблема в том, что, если пользователь отключает службу определения местоположения через меню быстрых настроек, я не могу обнаружить событие.
Как я могу узнать, когда пользователь активирует / деактивирует местоположение устройства с помощью быстрых настроек?
Спасибо.
Мой код:
...
BroadcastReceiver mGpsSwitchStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction() != null && intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
// Make an action or refresh an already managed state.
Log.d("vtApp", "CHANGED");
}
}
};
currentActivity.registerReceiver(mGpsSwitchStateReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));
Ссылки, за которыми я следил:
Как запустить широковещательный приемник при включении / выключении GPS?
Android Уведомления о быстрых настройках?
Изменение настроек местоположения