Titanium:以编程方式打开隐私 -> 位置服务
Titanium: Open Privacy -> Location Services programmatically
以下代码能够在 Titanium 中以编程方式(iOS 8)成功启动我的 应用程序设置:
var settingsURL = Ti.App.iOS.applicationOpenSettingsURL;
if (Ti.Platform.canOpenURL(settingsURL)) {
Ti.Platform.openURL(settingsURL);
}
问题是,如果用户在 隐私页面 中关闭了他们的位置服务,he/she 将不允许在 [=21] 中更改此设置=]应用程序的设置,要求用户返回设置 -> 隐私 -> 定位服务。这对用户体验来说是非常糟糕的。
我知道可以直接启动隐私 -> 位置服务,因为许多应用程序都可以,例如:Hotel Tonight、Foursquare、Dojo 等
如何在 Titanium 中执行此操作?
我的配置:SDK 3.5.1GA & iOS8.
不,没有 API 可用。
在iOS8中可以直接打开设置但不能直接打开位置设置
有一些url方案来打开设置功能,例如
Ti.Platform.openURL('prefs:root=LOCATION_SERVICES');
但是苹果从 iOS 5.1 中删除了这个。因此它不适用于 5.1 及更高版本。
为此,您需要尝试为 Titanium.Geolocation 创建一个侦听器,例如:
Titanium.Geolocation.addEventListener('location', locationCallback);
请记住,即使没有检查您是否有权限,您也需要这样做,这样iOS会提示您打开定位服务使用警报对话框,因此您可以直接重定向到隐私->定位服务。
以下代码能够在 Titanium 中以编程方式(iOS 8)成功启动我的 应用程序设置:
var settingsURL = Ti.App.iOS.applicationOpenSettingsURL;
if (Ti.Platform.canOpenURL(settingsURL)) {
Ti.Platform.openURL(settingsURL);
}
问题是,如果用户在 隐私页面 中关闭了他们的位置服务,he/she 将不允许在 [=21] 中更改此设置=]应用程序的设置,要求用户返回设置 -> 隐私 -> 定位服务。这对用户体验来说是非常糟糕的。
我知道可以直接启动隐私 -> 位置服务,因为许多应用程序都可以,例如:Hotel Tonight、Foursquare、Dojo 等
如何在 Titanium 中执行此操作?
我的配置:SDK 3.5.1GA & iOS8.
不,没有 API 可用。 在iOS8中可以直接打开设置但不能直接打开位置设置 有一些url方案来打开设置功能,例如
Ti.Platform.openURL('prefs:root=LOCATION_SERVICES');
但是苹果从 iOS 5.1 中删除了这个。因此它不适用于 5.1 及更高版本。
为此,您需要尝试为 Titanium.Geolocation 创建一个侦听器,例如:
Titanium.Geolocation.addEventListener('location', locationCallback);
请记住,即使没有检查您是否有权限,您也需要这样做,这样iOS会提示您打开定位服务使用警报对话框,因此您可以直接重定向到隐私->定位服务。