在 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 中重定向到我的应用