iOS之點(diǎn)擊通知欄的通知進(jìn)入程序的觸發(fā)事件
點(diǎn)擊通知欄的通知進(jìn)入程序時(shí),會(huì)觸發(fā)App Delegate里的方法,分為以下兩種情況:
1、程序未啟動(dòng)(即底部任務(wù)欄里沒(méi)有進(jìn)程)時(shí):
此種情況下,點(diǎn)擊通知欄的通知進(jìn)入程序,會(huì)觸發(fā)以下方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
對(duì)于launchOptions參數(shù),需要經(jīng)過(guò)以下處理:
NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
其中的pushNotificationKey才是從服務(wù)端推送過(guò)來(lái)的數(shù)據(jù),使用鍵值對(duì)方式就可以讀取服務(wù)器傳遞過(guò)來(lái)的額外參數(shù)了。
應(yīng)用還沒(méi)有加載,這時(shí)如果點(diǎn)擊通知的顯示按鈕,會(huì)調(diào)用didFinishLaunchingWithOptions,不會(huì)調(diào)用didReceiveRemoteNotification方法。如果點(diǎn)擊通知的關(guān)閉按鈕,再點(diǎn)擊應(yīng)用,只會(huì)調(diào)用didFinishLaunchingWithOptions方法。
2、程序已啟動(dòng):
如果程序已經(jīng)啟動(dòng),并駐留在內(nèi)存中,不管程序是在前臺(tái)(Foreground)還是在后臺(tái)(Background),如果點(diǎn)擊通知欄的通知進(jìn)入程序?qū)⒂|發(fā)以下方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
其中的userInfo參數(shù),就已經(jīng)是服務(wù)端推送過(guò)來(lái)的數(shù)據(jù),也是采用鍵值對(duì)方式進(jìn)行讀取。
如果點(diǎn)擊關(guān)閉再點(diǎn)擊應(yīng)用,則上面兩個(gè)方法都不會(huì)被調(diào)用這時(shí),只能在applicationWillEnterForeground或者applicationDidBecomeActive,根據(jù)發(fā)過(guò)來(lái)通知中的badge進(jìn)行判斷是否有通知,然后發(fā)請(qǐng)求獲取數(shù)據(jù)
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- JS檢測(cè)頁(yè)面中哪個(gè)HTML標(biāo)簽觸發(fā)點(diǎn)擊事件的方法
- ASP.NET中RadioButtonList綁定后臺(tái)數(shù)據(jù)后觸發(fā)點(diǎn)擊事件
- jquery實(shí)現(xiàn)點(diǎn)擊label的同時(shí)觸發(fā)文本框點(diǎn)擊事件的方法
- iScroll中事件點(diǎn)擊觸發(fā)兩次解決方案
- 點(diǎn)擊A元素觸發(fā)B元素的事件在IE8下會(huì)識(shí)別成A元素
- jquery mobile的觸控點(diǎn)擊事件會(huì)多次觸發(fā)問(wèn)題的解決方法
- 回車(chē)直接實(shí)現(xiàn)點(diǎn)擊某按鈕的效果即觸發(fā)單擊事件
- jquery 觸發(fā)a鏈接點(diǎn)擊事件解決方案
- 在頁(yè)面上點(diǎn)擊任一鏈接時(shí)觸發(fā)一個(gè)事件的代碼
相關(guān)文章
iOS中給自定義tabBar的按鈕添加點(diǎn)擊放大縮小的動(dòng)畫(huà)效果
這篇文章主要介紹了iOS中給自定義tabBar的按鈕添加點(diǎn)擊放大縮小的動(dòng)畫(huà)效果的相關(guān)資料,非常不錯(cuò),具有參考解決價(jià)值,需要的朋友可以參考下2016-11-11iOS開(kāi)發(fā)實(shí)現(xiàn)圖片瀏覽功能
這篇文章主要為大家詳細(xì)介紹了iOS開(kāi)發(fā)實(shí)現(xiàn)圖片瀏覽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01iOS11實(shí)現(xiàn)App內(nèi)自動(dòng)連接Wi-Fi的方法
這篇文章主要給大家介紹了關(guān)于iOS11實(shí)現(xiàn)App內(nèi)自動(dòng)連接Wi-Fi的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10IOS 單擊手勢(shì)的添加實(shí)現(xiàn)代碼
這篇文章主要介紹了IOS 單擊手勢(shì)的添加實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05在IOS系統(tǒng)上滾動(dòng)條滾動(dòng)到指定的位置出現(xiàn)空白頁(yè)面的解決方案
這篇文章主要介紹了 在IOS系統(tǒng)上滾動(dòng)條滾動(dòng)到指定的位置出現(xiàn)空白頁(yè)面的解決方案,需要的朋友可以參考下2017-01-01iOS 導(dǎo)航欄無(wú)縫圓滑的隱藏 Navigationbar實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了iOS 導(dǎo)航欄無(wú)縫圓滑的隱藏 Navigationbar的效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11淺析iOS應(yīng)用開(kāi)發(fā)中線程間的通信與線程安全問(wèn)題
這篇文章主要介紹了淺析iOS應(yīng)用開(kāi)發(fā)中線程間的通信與線程安全問(wèn)題,談到了包括互斥鎖的使用等設(shè)計(jì)要點(diǎn),需要的朋友可以參考下2015-11-11ios實(shí)現(xiàn)UITableView之間圓角和間隙
這篇文章主要為大家詳細(xì)介紹了ios實(shí)現(xiàn)UITableView之間圓角和間隙,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08