Biểu tượng GPS dường như thay đổi trạng thái của nó theo ý định phát sóng đã nhận. Bạn có thể tự thay đổi trạng thái của nó bằng các mẫu mã sau:
Thông báo rằng GPS đã được bật:
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
Thông báo rằng GPS đang nhận được các bản sửa lỗi:
Intent intent = new Intent("android.location.GPS_FIX_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
Thông báo rằng GPS không còn nhận được các bản sửa lỗi:
Intent intent = new Intent("android.location.GPS_FIX_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
Thông báo rằng GPS đã bị tắt:
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
Mã ví dụ để đăng ký người nhận với ý định:
// 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);
Bằng cách nhận các ý định phát sóng này, bạn có thể nhận thấy những thay đổi trong trạng thái GPS. Tuy nhiên, bạn sẽ chỉ được thông báo khi trạng thái thay đổi. Vì vậy, không thể xác định trạng thái hiện tại bằng cách sử dụng các ý định này.