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レシーバーが呼び出されない理由を誰でも見ることができますか??