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