有没有办法在 Android Wear Watch 上检测位置是不是关闭而不是不存在

Posted

技术标签:

【中文标题】有没有办法在 Android Wear Watch 上检测位置是不是关闭而不是不存在【英文标题】:Is there a way to detect Location is OFF on Android Wear Watch as opposed to not present有没有办法在 Android Wear Watch 上检测位置是否关闭而不是不存在 【发布时间】:2018-01-03 10:42:42 【问题描述】:

我开发了一款裁判手表 (https://play.google.com/store/apps/details?id=com.pipperpublishing.soccerrefpro),它使用手表 GPS 跟踪裁判的场地覆盖范围和其他健身统计数据。这不是关于 ACCESS_FINE_LOCATION 权限的问题,我处理得很好。

我知道我可以使用getPackageManager().hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS来确定手表是否有 GPS。但是,如果用户不小心关闭了手表上的设置>位置,有没有办法检测到呢?我怀疑手表会为上述呼叫报告 TRUE,但随后尝试使用手机 wifi/gps/cell 的 Fused Location Provider 提供位置。一旦你带着手机在球场上奔跑,那当然是没用的。

我尝试查看健身传感器源并确定源是否为本地,但这似乎不起作用。

【问题讨论】:

【参考方案1】:

如果您已经使用hasSystemFeature() 方法确定您的 android Wear 设备是否具有内置 GPS 传感器,那么您可以继续使用handling disconnection events。

您可能希望实现onPeerDisconnected() 方法,以便您的应用能够处理丢失的位置数据,以防穿戴设备与其配对设备失去连接。

此外,请查看此SO post,了解有关如何触发系统 UI 以获取启用位置对话框的权限的更多见解。

【讨论】:

感谢您的快速回复 - 我会看看!

以上是关于有没有办法在 Android Wear Watch 上检测位置是不是关闭而不是不存在的主要内容,如果未能解决你的问题,请参考以下文章

全新 Google Pixel Watch 重磅上线 | 着手为 Wear OS 构建应用!

Wear OS 2.0 - 有没有办法以编程方式处理 html、网页?

Android Wear没有拿起本地化版本

如何在睡眠模式下唤醒 Android Wear?

Android Wear 模拟器有传感器吗?

在 Android Wear 设备上获取 GPS 位置