Значок GPS, похоже, меняет свое состояние в соответствии с полученными намерениями вещания Вы можете изменить его состояние самостоятельно с помощью следующих примеров кода:
Уведомить, что GPS был включен:
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
Уведомить, что GPS получает исправления:
Intent intent = new Intent("android.location.GPS_FIX_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
Сообщите, что GPS больше не получает исправления:
Intent intent = new Intent("android.location.GPS_FIX_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
Уведомить, что GPS был отключен:
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
Пример кода для регистрации получателя с намерениями:
// MyReceiver must extend BroadcastReceiver
MyReceiver receiver = new MyReceiver();
IntentFilter filter = new IntentFilter("android.location.GPS_ENABLED_CHANGE");
filter.addAction("android.location.GPS_FIX_CHANGE");
registerReceiver(receiver, filter);
Получив эти намерения, вы можете заметить изменения в статусе GPS. Тем не менее, вы будете уведомлены только при изменении состояния. Таким образом, невозможно определить текущее состояние, используя эти намерения.