Java 不显示GPS的位置更新
我正在尝试使用设备的GPS检索设备的当前位置。当我为Java 不显示GPS的位置更新,java,android,gps,location,locationmanager,Java,Android,Gps,Location,Locationmanager,我正在尝试使用设备的GPS检索设备的当前位置。当我为LocationManager.GPS\u提供程序注册更新(如下所示)时,没有更新正在滚动,但当我为LocationManager.NETWORK\u提供程序注册更新时,我会得到更新 我已经在我的Android设备上测试过了(不是模拟器)。我还确认了GPS是开着的。其他应用程序(不是我的)可以访问我的位置。我错过了什么 LocationListener locationListener = new LocationListener() {
LocationManager.GPS\u提供程序
注册更新(如下所示)时,没有更新正在滚动,但当我为LocationManager.NETWORK\u提供程序
注册更新时,我会得到更新
我已经在我的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\U提供商就不起作用了。我确实在考虑这个问题,但一个小时后什么也没出现。需要这么长时间吗?这可能是因为在屋顶下,在开放空间中尝试或使用默认地图应用程序检查相同的设置。我在早期阶段使用
locationManager.isProviderEnabled(locationManager.GPS\u PROVIDER)
检查了这一点,并手动检查了该设置。GPS已打开。请参见此示例,它通过服务实现,但也可用于活动。