2014-11-17 3 views
1

현재 5 초마다 현재 위치를 가져 오는 프로젝트가 있습니다. 나는 그것을위한 서비스를 만든다. 그러나 현재 위치는 알 수 없습니다. 나는 시도한다 this link. 그러나 나는 현재 위치를 얻지 않고있다.백그라운드에서 현재 위치 얻기

public class Locfetching extends Service{ 

LocationManager locationManager; 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    Log.e("2", "2"); 
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    MyLocationListener myLocationListener = new MyLocationListener(); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 1, myLocationListener); 

    Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
    if (location != null) { 
     Log.e("SERVICE123", "LATITUDE:- "+ location.getLatitude() + " Longitude:- " + location.getLongitude()); 
    } 

    return START_STICKY; 
} 

@Override 
public IBinder onBind(Intent intent) { 
    return null; 
} 

@Override 
public void onCreate() { 
    super.onCreate(); 
    Log.e("1", "1"); 
} 

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    Log.e("3", "3"); 
    if (locationManager != null) { 
     locationManager = null; 
    } 
} 

public class MyLocationListener implements LocationListener { 

    @Override 
    public void onLocationChanged(Location location) { 
     // TODO Auto-generated method stub 
     Log.e("SERVICE", "LATITUDE:- "+ location.getLatitude() + " Longitude:- " + location.getLongitude()); 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onProviderEnabled(String provider) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onProviderDisabled(String provider) { 
     // TODO Auto-generated method stub 

    } 

} } 

백그라운드에서 현재 위치를 얻으려면 어떻게해야합니까?

답변

0

해당 휴대 전화의 위치 서비스를 확인하셨습니까? 활성화되어 있습니까? 사용하도록 설정되어있는 경우 사용 설정을 해제하고 동의를 클릭하십시오 (Android 4 이상 기기의 경우). 그런 다음 확인하십시오. 또한 매니페스트에서 동일한 권한을 추가했는지 확인하십시오.

+0

나는 또한 위치 서비스가 활성화 체크 한과 위치를 얻고있는 경우

도 확인합니다. @ 엘스 호스 M 바부 –

0

시도를 제공 할 수있는 최고의 ANS입니다 만든하지 않았습니다. 네트워크 제공자

if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 1, myLocationListener); 

} else if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { 
    locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 1, myLocationListener); 

} 
관련 문제