我正在使用Radar来监视用户位置。事情是我需要在应用程序关闭后继续跟踪位置。我正在使用一种称为Geofences的功能,它基本上只是一个位置,目标是在用户输入通知时发送通知。
这是我的广播接收器:
public class RadarBroadcastReceiver extends RadarReceiver {
private static final String TAG = "RadarBroadcastReceiver";
@Override
public void onEventsReceived(Context context, RadarEvent[] events, RadarUser user) {
for (RadarEvent event : events){
if (event.getType() == RadarEvent.RadarEventType.USER_ENTERED_GEOFENCE){
Log.i(TAG, "onEventsReceived: User entered GeoFence ->" + event.getGeofence().getExternalId());
}
if (event.getType() == RadarEvent.RadarEventType.USER_EXITED_GEOFENCE){
Log.i(TAG, "onEventsReceived: User exited GeoFence ->" + event.getGeofence().getExternalId());
}
else {
Log.i(TAG, "onEventsReceived: User did some other event");
}
}
}
@Override
public void onLocationUpdated(Context context, Location location, RadarUser user) {
Log.i(TAG, "onLocationUpdated: User location updated");
}
@Override
public void onError(Context context, Radar.RadarStatus status) {
Log.e(TAG, "onError: an error occurred. Radar status -> "+status);
}
}
并将其添加到我的清单
<receiver
android:name=".MyRadarBroadcastReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="io.radar.sdk.RECEIVED" />
</intent-filter>
</receiver>
现在我要从这里去哪里?总而言之,我需要BroadcastReceiver始终运行,并且当我收到一个事件(例如进入地理围栏)时,我需要通知用户。我已经阅读了所有可以找到的文档,但仍然不清楚,因为我的用例有些不同。
谢谢