위치 관리자를 사용하지만 현재 실행중인 활동이 아닌 클래스를 만들려고하고 있는데 문제가 있습니다. 그래서 어떤 활동에서이 클래스를 호출하면 백그라운드에서 모든 것을 수행합니다. 서비스 확장을 시도했지만 null 포인터 오류를 반환합니다.null 위치 포인터를 반환하는 Android 위치 관리자 예외
오류를 반환하는 것은이 코드 줄입니다.
public class BackgroundGps extends Service{
UserObject uo = null;
BackgroundGps(UserObject userObj){
uo = userObj;
uo.setHeader("GPSUpdate");
}
public void locationListener(){
LocationManager mlocManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new LocationListener(){
public void onLocationChanged(Location location){
if(uo.getLatitude() == ("" + location.getLatitude()) && uo.getLongitude() == ("" + location.getLongitude())){}
else{
uo.setLatitude("" + location.getLatitude());
uo.setLongitude("" + location.getLongitude());
updateGPS();
}
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 5, mlocListener);
mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60000, 5, mlocListener);
}
감사
에뮬레이터 또는 장치에서 실행 중이십니까? – Sid
현재 기기에서 실행 중입니다. – Arran