我有一个BroadcastReceiver
,无论我的应用程序生命周期如何,都会在后台运行。此BroadcastReceiver
在manifest
上启动,由PendingIntent
启动。
我需要在某个时候停止此BroadcastReceiver
,我必须在BroadcastReceiver
它自己内部(也许在onReceive
内)。
我试着打电话给abortBroadcast()
,但没有运气,BroadcastReceiver
仍然被一次又一次地召唤。
请帮助我,非常感谢你的帮助
更新
这是我发布BroadcastReceiver
:
Intent intent = new Intent("mypackage.ACTION_RECEIVE_GEOFENCE");
intent.putExtra("toStation", Constants.toStation);
PendingIntent geofencePendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
LocationServices.GeofencingApi.addGeofences(
mGoogleApiClient,
getGeofencingRequest(),
geofencePendingIntent
).setResultCallback(this);
这是我的manifest
:
<receiver android:name="mypackage.GeofenceUpdateReceiver"
android:exported="false">
<intent-filter >
<action android:name="mypackage.ACTION_RECEIVE_GEOFENCE"/>
</intent-filter>
</receiver>
我使用Google的Geofence API