1

我目前正在开展一个项目,该项目包含在每 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

    }

}   }

如何在后台获取当前位置?

4

3 回答 3

0

尝试检查位置提供程序是否已启用。

另外,请检查您是否从网络提供商处获得位置

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

}
于 2014-11-17T11:15:17.987 回答
0

你还没有做足够的研究在Android上获取用户当前位置的最简单、最可靠的方法是什么?是我能提供给你的最好的答案

于 2014-11-17T11:02:53.260 回答
0

您是否检查过该手机的定位服务?是否启用?如果它似乎已启用,请将其关闭再打开,然后单击同意(对于 Android 4+ 设备)。然后检查,它应该工作。还要检查您是否在清单中添加了相同的权限。

于 2014-11-17T10:57:18.310 回答