代码实现跳转到手机系统设置界面

2017-06-06  本文已影响0人  风寻月觅

在项目中,我们经常会遇到使用位置、通知的需求,当用户打开App时,经常喜欢关闭一切提醒的设置,我们需要提供给用户设置这些设置的帮助页面,使用快捷方式的方法设置,提高用户的体验度

在自己的项目中

需要设置我们的代码,在执行的方法中执行如下代码,就会跳到系统的通知的设置中,代码如下:

Swift:

let url = NSURL.init(string: "prefs:root=LOCATION_SERVICES")

if UIApplication.sharedApplication().canOpenURL(url!) {

UIApplication.sharedApplication().openURL(url!)

}

OC:

NSURL *url = [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];

if ([[UIApplication sharedApplication] canOpenURL:url]) {

[[UIApplication sharedApplication] openURL:url];

}

跳到系统的通知设置页面

代码如下:

Swift:

let url = NSURL.init(string: "prefs:root=NOTIFICATIONS_ID")

if UIApplication.sharedApplication().canOpenURL(url!) {

UIApplication.sharedApplication().openURL(url!)

}

OC:

NSURL *url = [NSURL

URLWithString:@"prefs:root=NOTIFICATIONS_ID"];

if ([[UIApplication

sharedApplication]

canOpenURL:url]) {

[[UIApplication

sharedApplication]

openURL:url];

}

关于IOS系统功能的URL 汇总列表:

定位:prefs:root=LOCATION_SERVICES

蜂窝网络:prefs:root=MOBILE_DATA_SETTINGS_ID

VPN — prefs:root=General&path=Network/VPN

Wi-Fi:prefs:root=WIFI

定位服务:prefs:root=LOCATION_SERVICES

个人热点:prefs:root=INTERNET_TETHERING

关于本机:prefs:root=General&path=About

辅助功能:prefs:root=General&path=ACCESSIBILITY

飞行模式:prefs:root=AIRPLANE_MODE

锁定:prefs:root=General&path=AUTOLOCK

亮度:prefs:root=Brightness

蓝牙:prefs:root=General&path=Bluetooth

时间设置:prefs:root=General&path=DATE_AND_TIME

FaceTime:prefs:root=FACETIME

设置:prefs:root=General

键盘设置:prefs:root=General&path=Keyboard

iCloud:prefs:root=CASTLE

iCloud备份:prefs:root=CASTLE&path=STORAGE_AND_BACKUP

语言:prefs:root=General&path=INTERNATIONAL

音乐:prefs:root=MUSIC

Music Equalizer — prefs:root=MUSIC&path=EQ

Music Volume Limit — prefs:root=MUSIC&path=VolumeLimit

Network — prefs:root=General&path=Network

Nike + iPod — prefs:root=NIKE_PLUS_IPOD

Notes — prefs:root=NOTES

Notification — prefs:root=NOTIFICATIONS_ID

Phone — prefs:root=Phone

Photos — prefs:root=Photos

Profile — prefs:root=General&path=ManagedConfigurationList

Reset — prefs:root=General&path=Reset

Safari — prefs:root=Safari

Siri — prefs:root=General&path=Assistant

Sounds — prefs:root=Sounds

Software Update — prefs:root=General&path=SOFTWARE_UPDATE_LINK

Store — prefs:root=STORE

Twitter — prefs:root=TWITTER

Usage — prefs:root=General&path=USAGE

Wallpaper — prefs:root=Wallpaper

iOS调用系统功能

在iOS开发过程中,有时我们想在应用内实现打电话、发短信、打开Safari浏览器功能,具体常用功能如下:

调用打电话功能(此种方法会直接进行拨打电话,电话结束后会留在电话界面)

if ([[UIApplication sharedApplication]

openURL:[NSURL URLWithString:@"tel://135XXXX3453"]])

{

[[UIApplication sharedApplication]

openURL:[NSURL URLWithString:@"tel://135XXXX3453"]];

}

//    调用打电话功能(此种方法会询问是否拨打电话,电话结束后会返回到应用界面,但是有上架App Store被拒的案例)

if ([[UIApplication sharedApplication]

openURL:[NSURL URLWithString:@"telprompt://135XXXX3453"]])

{

[[UIApplication sharedApplication]

openURL:[NSURL URLWithString:@"telprompt://135XXXX3453"]];

}

调用打电话功能(此种方法会询问是否拨打电话,电话结束后会返回到应用界面,此种方法是加载了一个UIWebView实现,支持上架App Store)

UIWebView *webView = [[UIWebView alloc] init];

[webView loadRequest:[NSURLRequest

requestWithURL:

[NSURL URLWithString:@"tel://135XXXX3453"]]];

[self.view addSubview:webView];

调用发短信功能(此种方法会直接跳转到给指定号码发送短信,短信结束后会留在短信界面)

if ([[UIApplication sharedApplication]

openURL:[NSURL URLWithString:@"sms://135XXXX3453"]])

{

[[UIApplication sharedApplication]

openURL:[NSURL URLWithString:@"sms://135XXXX3453"]];

}

调用Safari浏览器功能(在开发中遇到应用内打开网页的需求,建议使用UIWebView打开)

if ([[UIApplication sharedApplication]

canOpenURL:[NSURL URLWithString:@"http://www.baidu.com/"]])

{

[[UIApplication sharedApplication]

openURL:[NSURL URLWithString:@"http://www.baidu.com/"]];

}

转发自http://blog.csdn.net/future_one/article/details/52067912

上一篇下一篇

猜你喜欢

热点阅读