首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓定位请求PRIORITY_HIGH_ACCURACY无影响

安卓定位请求PRIORITY_HIGH_ACCURACY无影响
EN

Stack Overflow用户
提问于 2018-03-07 19:02:48
回答 1查看 2K关注 0票数 5

我的Android应用程序需要高精度的位置跟踪。在应用启动时,它会以编程方式读取位置设置,如果未选择高精度,则会显示一个屏幕。

我将谷歌的官方示例(https://developers.google.com/android/reference/com/google/android/gms/location/SettingsClient)改编为Kotlin。

这在华为手机上可以正常工作,但在三星S7和S8上失败:如果用户选择了电源平衡,则会出现一个对话框,并将位置跟踪设置为高精度。但是,如果以前选择了仅GPS,则不会抛出ApiException,并且设置保持不变。

代码语言:javascript
运行
复制
val locationRequest = LocationRequest.create()
locationRequest.priority = LocationRequest.PRIORITY_HIGH_ACCURACY

val builder = LocationSettingsRequest.Builder().addLocationRequest(locationRequest)
val result = LocationServices.getSettingsClient(this).checkLocationSettings(builder.build())

result.addOnCompleteListener(OnCompleteListener {
    try {
        it.getResult(ApiException::class.java)
        // on Samsung + GPS only setting, execution passes here, no ApiException thrown
    } catch(e: ApiException) {
        if(e is ResolvableApiException) {
            // ...show resolution dialog...
        }
    }
}

如有任何提示,我们将不胜感激,谢谢:)

EN

回答 1

Stack Overflow用户

发布于 2018-11-19 21:05:47

我用s8也有同样的问题,所以我检查设备,如果它是s8,我用PRIORITY_BALANCED_POWER_ACCURACY发出请求,它工作了,但有一些延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49150328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档