Я пытаюсь зарегистрировать широковещательный приемник для получения обновлений при изменении состояния gps.
Однако мой GpsChangeReceiver onReceive метод, похоже, не вызывается, когда статус gps изменяется с включенного на отключенный или наоборот.
Прежде всего, я регистрирую получателя:
GpsChangeReceiver m_gpsChangeReceiver = new GpsChangeReceiver();
this.registerReceiver(m_gpsChangeReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));
Затем у меня есть gps-приемник
public class GpsChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive( Context context, Intent intent )
{
final LocationManager manager = (LocationManager) context.getSystemService( Context.LOCATION_SERVICE );
if (manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) ) {
//do something
}
else
{
//do something else
}
}
}
Наконец, мой манифест содержит:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Может ли кто-нибудь понять, почему gps-приемник никогда не вызывается, когда я изменяю его статус из настроек телефона?