4
我有一个后台服务,每5分钟从位置管理器获取更新。在调用locationChaged时,我在我的活动中调用一个函数来更新保存我的用户位置的GeoPoint。这工作正常,做我想要的。我只是不确定是否最好使用广播接收器来做这件事。我曾尝试使用广播接收器,但它不起作用。我目前这样做的方式有什么不正确的吗?从后台服务获取位置,这是正确的吗?
我有我的位置服务下面的方法:
public static double getLat() {
return lat;
}
public static double getLng() {
return lng;
}
public void onLocationChanged(Location loc) {
lat = (double) (loc.getLatitude());
lng = (double) (loc.getLongitude());
mapview.locationHasChanged();
}
在我绑定的活动我有以下几点:
public static void locationHasChanged() {
double myLat = LocationService.getLat();
double myLng = LocationService.getLng();
LocGeo = new GeoPoint(
(int) (myLat * 1E6),
(int) (myLng * 1E6));
}
我打算从多个活动的服务中获取位置,所以在这种情况下,我确实希望它是一个单独的服务,而不是活动本身。谢谢您的帮助! – jgelderloos