Gak*_*ak2 5 android android-location google-play-services
我一直在玩 FusedLocationProvider,我发现如果您手机的定位模式设置为“仅设备”(在设置中更改 - 这意味着仅启用 GPS 定位。不使用 Wifi 网络和手机信号塔来提高准确性),然后我找不到 FusedLocationProvider 为您提供位置而不要求用户将其更改为 High Accuracy(始终调用 onResolutionRequired)的方法。
所有四个 LocationRequest 优先级都不起作用:
如果设备处于此模式,是否无法通过 FusedLocationProvider 获取位置?我很确定您可以通过 android.location.LocationManager 获得它。如果这意味着在它之上进行更好的抽象,这似乎是一个巨大的设计缺陷。
您确实需要使用 LocationManager 来检测这一点,我同意这确实很愚蠢。使用以下代码:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (locationManager != null && locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
requestLocationUpdates();
} else {
//Location request code
}
Run Code Online (Sandbox Code Playgroud)
这是我制作的包含此技术的示例项目:
https://github.com/gavingt/basic_location_improved
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |