【发布时间】:2013-08-27 18:35:53
【问题描述】:
我正在开发一款适用于 Android 的 Phonegap 应用,并希望从 GPS 获取坐标。
应用程序由 Web 资产和后台服务 (Java) 组成。
我从 Java 端获取这些坐标。
但我相信后台服务无法要求用户打开 GPS。
我如何请求用户激活 GPS,使用该标准意图来激活它?这可能吗?
【问题讨论】:
我正在开发一款适用于 Android 的 Phonegap 应用,并希望从 GPS 获取坐标。
应用程序由 Web 资产和后台服务 (Java) 组成。
我从 Java 端获取这些坐标。
但我相信后台服务无法要求用户打开 GPS。
我如何请求用户激活 GPS,使用该标准意图来激活它?这可能吗?
【问题讨论】:
您可以将this Diagnostic plugin 用于Phonegap Android。
isGpsEnabled 函数允许您检查是否在 Android 设备上启用了 GPS,switchToLocationSettings 从您的应用程序切换到用户可以打开 GPS 的位置设置页面(这可能前面应该有一个对话框询问用户是否愿意这样做)。
更新我已经分叉了原始插件,为 Phonegap/Cordova 3+ 更新了它,记录了它并扩展了它的功能。可以在这里找到:https://github.com/dpa99c/cordova-diagnostic-plugin
【讨论】:
第一次使用Geolocation API 时,它会请求用户许可。除此之外,如果 GPS 处于活动状态,您只需要收听,如果不是,则必须显示一条消息,要求他们授予您 GPS 访问权限,通常随后是有关如何通过设备设置执行此操作的说明。
【讨论】: