Android Wear - 检测手持GPS是否已启用,如果没有则提示启用

时间:2016-03-17 18:25:24

标签: android wear-os

我目前正在为Android Wear构建应用程序,用户只有在手持设备上的GPS启用时才能编辑某些设置。我想知道我是否可以通过询问Smartwatch的权限以编程方式启用GPS,而不必将用户重定向到手持设备的屏幕以接受或拒绝请求。

我创建了以下模型来说明我想要完成的流程:

Flow I want to accomplish

我有以下问题,我还在图片中添加了1 *和2 *来说明我的问题适用的地方:

1 *:是否可以检查智能手表上是否启用了手持GPS?如果没有,我是否必须为掌上电脑构建自定义请求,检查掌上电脑的可用性并自行向智能手表返回true或false?

2 *:这是可能的,还是我真的必须将用户重定向到他或她的手持设备才能打开GPS?我真的找不到任何关于此的文档,但似乎Google会(或应该)考虑过这个。

提前感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我将以相反的顺序回答你的两个问题:

2:你不能在没有用户同意的情况下打开GPS - 这样做会产生安全/隐私问题 - 但是你可以触发系统UI来获得该许可(如果给出则打开GPS)。它被称为SettingsApi,在此SO帖子中有详细描述:How to show enable location dialog like Google maps?

1:我有理由相信您需要将此请求转发到掌上电脑,并在那里显示API。我怀疑Wear上存在系统UI。但是 - 考虑到你还需要实现这个SettingsApi调用 - 你可以先尝试使用Wear来看看会发生什么。如果代码失败,您始终可以将代码移动到掌上电脑。

另外,您是否考虑过手表有内置GPS的情况?你还需要使用掌上电脑的GPS吗?