android.location.LocationListener的位置监听器的onLocationChanged()函数中的问题。在Android中,如何连续接收GPS位置?
在请求LocationManager的requestLocationUpdates之后的代码如下,onLocationChanged以不均匀的间隔被调用,即我设置了1秒的时间段,但是我没有在每秒之后收到位置改变。
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
@SuppressWarnings("MissingPermission")
public class SimplePositionProvider extends PositionProvider implements LocationListener {
public SimplePositionProvider(Context context, PositionListener listener) {
super(context, listener);
Log.i("SimplePositionProvider", "start");
if (!type.equals(LocationManager.NETWORK_PROVIDER)) {
type = LocationManager.GPS_PROVIDER;
}
}
public void startUpdates() {
Log.i("startUpdates", "start");
try {
Log.i("requestLocationUpdates", "start");
Log.i("TYPE", type);
locationManager.requestLocationUpdates(type, period, 0, this);
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, "error");
}
}
public void stopUpdates() {
Log.i("stopUpdates", "start");
locationManager.removeUpdates(this);
}
@Override
public void onLocationChanged(Location location) {
Log.i("onLocationChanged", "start");
updateLocation(location);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.i("onStatusChanged", "start");
}
@Override
public void onProviderEnabled(String provider) {
Log.i("onProviderEnabled", "start");
}
@Override
public void onProviderDisabled(String provider) {
Log.i("onProviderDisabled", "start");
}
}
创建位置服务来获得位置continiusly –