GPS启动不是即时过程。接收器基本上必须知道星座中每个GPS卫星的位置,以计算其位置
您是否首先检查是否可以使用最后一个已知位置?大多数应用程序首先检查它,然后搜索一个位置。
题
我正在尝试使用设备的GPS检索设备的当前位置。当我注册更新时(如下所示) LocationManager.GPS_PROVIDER
没有更新正在滚动,但是当我做同样的事情时 LocationManager.NETWORK_PROVIDER
我得到了更新。
我已经在Android设备(不是仿真器)上对其进行了测试。我还确保了GPS打开。其他应用程序(不是我的)能够访问我的位置。我在这里想念什么?
LocationListener locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
locationRetrieved(location, this);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) { }
public void onProviderDisabled(String provider) { providerDisabled(); }
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
解决方案
GPS启动不是即时过程。接收器基本上必须知道星座中每个GPS卫星的位置,以计算其位置
您是否首先检查是否可以使用最后一个已知位置?大多数应用程序首先检查它,然后搜索一个位置。
其他提示
您应该检查手机允许使用GPS收集位置。
可能发生的事情是在设置 - >位置您只有无线位置的复选框。如果是这样,GPS_PROVIDER不起作用。