我正在尝试注册广播接收器以在 gps 状态更改时接收更新。
但是,当 gps 状态从启用更改为禁用时,我的 GpsChangeReceiver onReceive 方法似乎没有被调用,反之亦然。
首先,我正在注册接收者:
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 接收器吗?