代碼實現跳轉到手機系統設置界面

在項目中,我們經常會遇到使用位置、通知的需求,當用戶打開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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容