当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS 跳转到第三方应用或者设置页面

iOS 跳转到第三方应用或者设置页面

2018年11月11日  | 移动技术网IT编程  | 我要评论

北京南站,is领袖被证实已击毙,灵狐者裙底吧

ios 跳转到第三方应用或者设置页面。最近在写一个widget的小项目。功能是在通知栏上快速设置一些设置,比如wifi,蓝牙,低电量模式。不过就遇到了下面咱们要讨论的问题。如何跳转?那么网上有很多资料。不过90%都是一样的,另外10%又是一模一样的。想找个东西太难。所以我要在这里面整理一下,这就是我写这篇文章的意义。

跳转方式一览

目标 url
电池电量 prefs:root=battery_usage
vpn prefs:root=general&path=vpn (网上有很多写的是prefs:root=general&path=network/vpn,就用我写的那个,亲测可用)
个人热点 prefs:root=internet_tethering
飞行模式 prefs:root=airplane_mode
锁定 prefs:root=general&path=autolock
亮度 prefs:root=brightness
时间设置 prefs:root=general&path=date_and_time
icloud prefs:root=castle
icloud备份 prefs:root=castle&path=storage_and_backup
通用设置 prefs:root=general
存储空间 prefs:root=general&path=storage_icloud_usage/device_storage
蜂窝数据 prefs:root=mobile_data_settings_id
wi-fi 设置 prefs:root=wifi
蓝牙设置 prefs:root=bluetooth
定位设置 prefs:root=privacy&path=location
辅助功能 prefs:root=general&path=accessibility
关于手机 prefs:root=general&path=about
键盘设置 prefs:root=general&path=keyboard
显示设置 prefs:root=display
语言设置 prefs:root=general&path=international
声音设置 prefs:root=sounds
app store 设置 prefs:root=store
墙纸设置 prefs:root=wallpaper
music prefs:root=music
nike + ipod prefs:root=nike_plus_ipod
notes prefs:root=notes
safari prefs:root=safari
siri prefs:root=general&path=assistant
系统更新 prefs:root=general&path=software_update_link
打开电话 mobilephone://
世界时钟 clock-worldclock://
闹钟 clock-alarm://
秒表 clock-stopwatch://
倒计时 clock-timer://
打开相册 photos://
facetime prefs:root=facetime

使用方式

在程序中,ios 9 8 7 可以用以下方式来打开设置。

nsurl *url = [nsurl urlwithstring:@"prefs:root=wifi"];

   if ([[uiapplication sharedapplication] canopenurl:url]) {  

        [[uiapplication sharedapplication] openurl:url]; // ios 9 的跳转
   }

当然也可以这样(ios10 9 8 7 可以用这种方式)(这方法虽然ios 10也可以用但是并不能去到蓝牙、wifi、电池,只能去到自身应用的系统设置。)

nsurl *url = [nsurl urlwithstring:uiapplicationopensettingsurlstring];

if ([[uiapplication sharedapplication] canopenurl:url]) {

    [[uiapplication sharedapplication] openurl:url];
}

下面的方法是ios10 新增的api

nsurl *url = [nsurl urlwithstring:@"prefs:root=wifi"];

    if ([[uiapplication sharedapplication] canopenurl:url]) {

        [[uiapplication sharedapplication] openurl:url options:@{} completionhandler:nil];
    }

如果你是通知栏应用(如pin,launcher)在ios 10通知栏widget可以像ios 9正常跳转,pin、launcher,都可以通过简单地设置 url scheme 实现此功能,你可以继续在通知中心直接跳转至系统设置的特定页面,比如蜂窝数据、wifi、定位等等。只需将原来的 prefs 开头改成 prefs 即可。
需要注意的是,这个功能只在通知中心的 today widget(即插件)有效,在应用中则无法直接跳转设置。
(如果你的是通知栏类应用可以用此办法解决,ios 10 可用)

nsurl*url=[nsurl urlwithstring:@"prefs:root=wifi"]; 
[self.extensioncontext openurl:url completionhandler:^(bool success) {

}];

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网