簡體   English   中英

在后台獲取當前位置

[英]Get Current Location in background

我目前正在從事一個項目,該項目每5秒包含在獲取當前位置中。 我為此創建了服務。 但是當前位置沒有得到。 我嘗試這個鏈接。 但是我沒有當前位置。

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

    }

}   }

如何在后台獲取當前位置?

您是否已檢查該電話的定位服務? 啟用了嗎? 如果它似乎已啟用,請先關閉然后再打開,然后單擊“同意”(對於Android 4+設備)。 然后檢查,它應該可以工作。 還要檢查清單中是否添加了相同的權限。

您尚未進行足夠的研究?在Android上獲取用戶當前位置的最簡單,最可靠的方法是什么? 是我能為您提供的最佳解決方案

嘗試檢查是否啟用了位置提供程序。

另外,檢查您是否與網絡提供商取得聯系

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);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM