Status do GPS ativado / desativado receptor de transmissão
Eu estou tentando registrar um receptor de transmissão para receber atualizações quando o status do GPS é alterado.
No entanto, meu método GpsChangeReceiver onReceive não parece ser chamado quando o status do gps é alterado de ativado para desativado ou vice-versa.
Primeiro de tudo, estou registrando o receptor:
GpsChangeReceiver m_gpsChangeReceiver = new GpsChangeReceiver();
this.registerReceiver(m_gpsChangeReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));
Então, eu tenho meu receptor 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
}
}
}
Finalmente, meu manifesto contém:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Alguém pode ver porque o receptor GPS nunca é chamado quando eu modificar seu status de configurações do telefone?