L'icône GPS semble changer d'état en fonction des intentions de diffusion reçues. Vous pouvez modifier son état vous-même avec les exemples de code suivants:
Avertissez que le GPS a été activé:
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
Avertissez que le GPS reçoit des correctifs:
Intent intent = new Intent("android.location.GPS_FIX_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
Avertissez que le GPS ne reçoit plus de correctifs:
Intent intent = new Intent("android.location.GPS_FIX_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
Avertissez que le GPS a été désactivé:
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
Exemple de code pour enregistrer le récepteur selon les intentions:
// 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);
En recevant ces intentions de diffusion, vous pouvez remarquer les changements d'état du GPS. Cependant, vous ne serez averti que lorsque l'état change. Il n'est donc pas possible de déterminer l'état actuel à l'aide de ces intentions.