PhoneGap - 请求 GPS 激活

Posted

技术标签:

【中文标题】PhoneGap - 请求 GPS 激活【英文标题】:PhoneGap - Request GPS Activation 【发布时间】:2013-08-27 18:35:53 【问题描述】:

我正在开发一款适用于 android 的 Phonegap 应用,并希望从 GPS 获取坐标。

应用程序由 Web 资产和后台服务 (Java) 组成。

我从 Java 端获取这些坐标。

但我相信后台服务无法要求用户打开 GPS。

我如何请求用户激活 GPS,使用该标准意图来激活它?这可能吗?

【问题讨论】:

【参考方案1】:

您可以将this Diagnostic plugin 用于Phonegap Android。

isGpsEnabled 函数允许您检查是否在 Android 设备上启用了 GPS,switchToLocationSettings 从您的应用程序切换到用户可以打开 GPS 的位置设置页面(这可能前面应该有一个对话框询问用户是否愿意这样做)。

更新我已经分叉了原始插件,为 Phonegap/Cordova 3+ 更新了它,记录了它并扩展了它的功能。可以在这里找到:https://github.com/dpa99c/cordova-diagnostic-plugin

【讨论】:

这就是我所期待的,有一个插件或以某种方式解决这个问题。希望它能帮助我实现所需的解决方案。我将尝试实施,稍后将在此处发布结果。无论如何,谢谢一百万! 您提供的链接已失效。请更新您的答案,因为在当前格式下它不包含任何有用的信息。 Updated link。谷歌。 10 秒。现在又有用了。【参考方案2】:

第一次使用Geolocation API 时,它会请求用户许可。除此之外,如果 GPS 处于活动状态,您只需要收听,如果不是,则必须显示一条消息,要求他们授予您 GPS 访问权限,通常随后是有关如何通过设备设置执行此操作的说明。

【讨论】:

例如,如果我请求 getCurrentPosition,无论 GPS 是否启用,它都会返回坐标,因为它从网络获取位置,这正是我不想要的。我想“强迫”他(当然,如果他愿意并接受)启用 GPS。有什么想法吗?

以上是关于PhoneGap - 请求 GPS 激活的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap 构建 - 位置 API 超时

phonegap 中的 GPS 状态

如何查看phonegap中的gps状态?

一般 Android GPS 行为

Phonegap 检测设备 GPS 状态

Android phonegap GPS 精度