android - 使用 GPS_PROVIDER 进行定位时出现问题

标签 android gps

我正在开发一个使用当前用户位置作为结果的 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。请改用 LocationListeneronLocationChanged() 回调。

这可能需要一段时间,但您会得到一个新的定位。

NETWORK_PROVIDER 的位置并不总是准确的,因为它是基于小区站点三角测量的

关于android - 使用 GPS_PROVIDER 进行定位时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075035/

相关文章:

android - 在 Android 中只启用混淆而不启用代码压缩?

android - 没有获得 CallLog 的第一个数据

java - Android:无法添加/替换 fragment

android - 检查我在 x 时间段后没有收到 GPS 信号

android - 避免使用AGPS或网络GPS以避免扣钱 Android

java - 当设备缓慢移动或静止时 GPS 会波动

android - 模拟器创建 adb.exe 副本

android - gradle-4.8构建失败,出现异常,无法获取互联网资源

java - 不能影响始终为 null 的简单 Double[] 表的值

android - 位置应用程序不断崩溃