我正在尝试使用设备的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);
答案 0 :(得分:1)
GPS启动不是一个即时过程。接收机基本上必须知道星座中每颗GPS卫星的位置,以便计算它的位置
您是否首先检查是否有可以使用的最后一个已知位置?大多数应用首先检查它,然后搜索位置。
答案 1 :(得分:-1)
您应该检查手机是否允许使用GPS收集位置。
令人遗憾的是,在设置中发生了什么 - >位置您只有无线位置的复选框。如果是这样,则GPS_PROVIDER不起作用。