我正在开发一个使用当前用户位置作为结果的 Android 应用。
我正在使用以下代码获取位置:
LocationManager locationManager =
(LocationManager) getSystemService(LOCATION_SERVICE);
Location currentLocation =
locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
当我在设备上运行它时,它为我提供了一个 null 位置值。
但是当我使用 NETWORK_PROVIDER
时它工作正常是否有任何额外的设置让设备使用 GPS?
我的设备是 Galaxy Tab P-1000。
最佳答案
使用 GPS_PROVIDER
调用 getLastKnownLocation()
会返回一个缓存值。如果没有最近的位置,它将返回 null。请改用 LocationListener
的 onLocationChanged()
回调。
这可能需要一段时间,但您会得到一个新的定位。
NETWORK_PROVIDER
的位置并不总是准确的,因为它是基于小区站点三角测量的
关于android - 使用 GPS_PROVIDER 进行定位时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075035/