国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS之點(diǎn)擊通知欄的通知進(jìn)入程序的觸發(fā)事件

2019-10-21 18:48:15
字體:
供稿:網(wǎng)友

點(diǎn)擊通知欄的通知進(jìn)入程序時(shí),會(huì)觸發(fā)App Delegate里的方法,分為以下兩種情況:

1、程序未啟動(dòng)(即底部任務(wù)欄里沒有進(jìn)程)時(shí):

此種情況下,點(diǎn)擊通知欄的通知進(jìn)入程序,會(huì)觸發(fā)以下方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

對于launchOptions參數(shù),需要經(jīng)過以下處理:

NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 

其中的pushNotificationKey才是從服務(wù)端推送過來的數(shù)據(jù),使用鍵值對方式就可以讀取服務(wù)器傳遞過來的額外參數(shù)了。

應(yīng)用還沒有加載,這時(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ù)端推送過來的數(shù)據(jù),也是采用鍵值對方式進(jìn)行讀取。

如果點(diǎn)擊關(guān)閉再點(diǎn)擊應(yīng)用,則上面兩個(gè)方法都不會(huì)被調(diào)用這時(shí),只能在applicationWillEnterForeground或者applicationDidBecomeActive,根據(jù)發(fā)過來通知中的badge進(jìn)行判斷是否有通知,然后發(fā)請求獲取數(shù)據(jù)

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持VEVB武林網(wǎng)!


注:相關(guān)教程知識(shí)閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广昌县| 鹤庆县| 白山市| 郑州市| 昭苏县| 阿图什市| 龙陵县| 玛多县| 贵南县| 中牟县| 新竹县| 大名县| 正阳县| 溆浦县| 台北县| 西贡区| 长治县| 澜沧| 广州市| 商洛市| 雅安市| 偏关县| 赫章县| 健康| 安吉县| 西林县| 梨树县| 宜城市| 县级市| 仙游县| 黎川县| 岳西县| 临安市| 车致| 应城市| 巴马| 安远县| 南木林县| 松阳县| 阳泉市| 吉林市|