在 ios phonegap 应用程序中重定向到 GPS 设置屏幕

Posted

技术标签:

【中文标题】在 ios phonegap 应用程序中重定向到 GPS 设置屏幕【英文标题】:Redirecting towards GPS setting screen in ios phonegap application 【发布时间】:2015-09-15 11:44:07 【问题描述】:

我想实现 GPS 访问功能。所以主要任务是如果用户的 GPS 关闭,则将用户重定向到 GPS 设置页面,以便用户可以打开它。

我尝试了以下代码

cordova.plugins.diagnostic.switchToLocationSettings();

但没有运气,。我猜它只适用于android。 谁能给我一些插件或代码来重定向到 GPS 设置屏幕。

【问题讨论】:

【参考方案1】:

ios 8 上,您可以使用一些 Objective-C 在 Settings 应用中切换到您的应用的设置页面:

[[UIApplication sharedApplication] openURL: [NSURL URLWithString: UIApplicationOpenSettingsURLString]];

此页面显示特定于您的应用的权限,因此如果用户禁用了您的应用的位置访问权限(通过单击“不允许”),他们可以在此处重新启用它。使用cordova-diagnostic-plugin 的cordova.plugins.diagnostic.isLocationAuthorized() 函数检查用户是否禁用了您应用的位置访问权限。

如果他们完全关闭了定位服务,用户将需要使用“设置”应用中的主菜单导航到“隐私”并重新启用定位服务 - AFAIK 无法以编程方式显示此页面。使用cordova-diagnostic-plugin的cordova.plugins.diagnostic.isLocationEnabledSetting()函数检查用户是否禁用了定位服务。

更新

我已更新 cordova-diagnostic-plugin 以支持切换到“设置”应用。安装最新版本(1.1.1),然后调用:

cordova.plugins.diagnostic.switchToSettings();

在 iOS 7 及更低版本上,无法打开“设置”应用。

【讨论】:

【参考方案2】:

我在 iOS PhoneGap 应用程序中遇到了同样的问题。我已经安装了Cordoava Native Settings plugin。然后为 iOS 调用一个方法:

cordova.plugins.settings.open(function(),function());

已成功打开定位服务设置页面。

【讨论】:

以上是关于在 ios phonegap 应用程序中重定向到 GPS 设置屏幕的主要内容,如果未能解决你的问题,请参考以下文章

获得权限后的 Facebook 登录让 Safari 空白页面打开,而不是在 iOS 10 和 iOS 11 中重定向到我的应用

phonegap 跨平台重定向到本地文件

在 Spring MVC 中重定向到动态 URL

在 Spring MVC 中重定向到动态 URL

如何在 React 中重定向到另一个视图

如何在 React 中重定向