你的位置:首页 > 操作系统

[操作系统]UI进阶 跳转系统设置相关界面的方法


跳转系统设置界面,例如提示用户打开定位、蓝牙或者WIFI,提醒用户打开推送或者位置权限等

在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图:

http://static.oschina.net/uploads/space/2016/0223/120817_MF8D_2340880.png

跳转系统设置根目录中的项目使用下面的方法

复制代码
 1     _array = @[ 2        @{@"系统设置":@"prefs:root=INTERNET_TETHERING"}, 3        @{@"WIFI设置":@"prefs:root=WIFI"}, 4        @{@"蓝牙设置":@"prefs:root=Bluetooth"}, 5        @{@"系统通知":@"prefs:root=NOTIFICATIONS_ID"}, 6        @{@"通用设置":@"prefs:root=General"}, 7        @{@"显示设置":@"prefs:root=DISPLAY&BRIGHTNESS"}, 8        @{@"壁纸设置":@"prefs:root=Wallpaper"}, 9        @{@"声音设置":@"prefs:root=Sounds"},10        @{@"隐私设置":@"prefs:root=privacy"},11        @{@"APP Store":@"prefs:root=STORE"},12        @{@"Notes":@"prefs:root=NOTES"},13        @{@"Safari":@"prefs:root=Safari"},14        @{@"Music":@"prefs:root=MUSIC"},15        @{@"photo":@"prefs:root=Photos"}16         ];17     NSURL * url = [NSURL URLWithString:[_array[index] allValues].firstObject];18     [[UIApplication sharedApplication]openURL:url];
复制代码

如果要跳转第三方应用的设置界面中,使用prefs:root=boundleId的方式,boundleId是第三方应用的boundleId。
如果需要继续向项目内层进行跳转,可以通过添加path路径的方式,如下:

复制代码
 1       _array = @[ 2        @{@"关于本机":@"prefs:root=General&path=About"}, 3        @{@"软件升级":@"prefs:root=General&path=SOFTWARE_UPDATE_LINK"}, 4        @{@"日期时间":@"prefs:root=General&path=DATE_AND_TIME"}, 5        @{@"Accessibility":@"prefs:root=General&path=ACCESSIBILITY"}, 6        @{@"键盘设置":@"prefs:root=General&path=Keyboard"}, 7        @{@"VPN":@"prefs:root=General&path=VPN"}, 8        @{@"壁纸设置":@"prefs:root=Wallpaper"}, 9        @{@"声音设置":@"prefs:root=Sounds"},10        @{@"隐私设置":@"prefs:root=privacy"},11        @{@"APP Store":@"prefs:root=STORE"},12        @{@"还原设置":@"prefs:root=General&path=Reset"},13        @{@"应用通知":@"prefs:root=NOTIFICATIONS_ID&path=应用的boundleId"}14        ]; 
复制代码