最近在写一个widget的小项目。功能是在通知栏上快速设置一些系统设置,比如wifi,蓝牙,低电量模式。不过就遇到了下面咱们要讨论的问题。如何跳转?那么网上有很多资料。不过90%都是一样的,另外10%又是一模一样的。想找个东西太难。所以我要在这里面整理一下,这就是我写这篇文章的意义。
跳转方式一览
目标 | URL |
---|---|
电池电量 | Prefs:root=BATTERY_USAGE |
个人热点 | 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 可以用以下方式来打开设置。
当然也可以这样(iOS10 9 8 7 可以用这种方式)(这方法虽然iOS 10也可以用但是并不能去到蓝牙、WIFI、电池,只能去到自身应用的系统设置。)
下面的方法是iOS10 新增的api
如果你是通知栏应用(如pin,Launcher)在iOS 10通知栏Widget可以像iOS 9正常跳转,Pin、Launcher,都可以通过简单地设置 URL Scheme 实现此功能,你可以继续在通知中心直接跳转至系统设置的特定页面,比如蜂窝数据、WiFi、定位等等。只需将原来的 prefs 开头改成 Prefs 即可。
需要注意的是,这个功能只在通知中心的 Today Widget(即插件)有效,在应用中则无法直接跳转设置。
(如果你的是通知栏类应用可以用此办法解决,iOS 10 可用)