5 분마다 위치 관리자로부터 업데이트를받는 백그라운드 서비스가 있습니다. onChange가 호출 될 때, 내 액티비티의 함수를 호출하여 사용자 위치를 보유하고있는 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