Android-我需要创建一个始终运行的服务来监视用户位置

时间:2019-10-30 15:40:24

标签: android service background broadcast receiver

我正在使用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始终运行,并且当我收到一个事件(例如进入地理围栏)时,我需要通知用户。我已经阅读了所有可以找到的文档,但仍然不清楚,因为我的用例有些不同。

谢谢

0 个答案:

没有答案