处理远程通知的方法
IOS的一大特點就是可以隨時向客戶端push相關(guān)的信息。那么在客戶端收到這些信息時,如何處理呢?
有兩種情景需要處理,
一是:從狀態(tài)欄下拉,點擊通知欄里的一項,啟動應(yīng)用
二是:在鎖屏界面,滑動應(yīng)用的圖標解鎖啟動應(yīng)用
處理push通知時,涉及到UIAppDelegate的兩個回調(diào):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
使用場景如下:
如果啟動應(yīng)用時,應(yīng)用沒有在后臺運行,則使用第一個回調(diào)。
啟動應(yīng)用時,應(yīng)用已在后臺運行,則使用第二個回調(diào)。
具體用法如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {///其它處理// 以下是push處理if (launchOptions != nil) {NSLog(@"LUN:%@", launchOptions);// UIApplicationLaunchOptionsRemoteNotificationKey 這個key值就是push的信息NSDictionary *dic = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];// 為了復(fù)用代碼,統(tǒng)一到下面這個處理方法中handlePushNotify.[self handlePushNotify:dic];} }- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {if (application.applicationState != UIApplicationStateActive) { // 一般在應(yīng)用運行狀態(tài)下不做處理,或做特殊處理[self handlePushNotify:userInfo];} }// 自己寫的一個方法,用于統(tǒng)一處理通過push通知啟動的情況 - (void)handlePushNotify:(NSDictionary *)info {// 處理 info 吧。。。 }轉(zhuǎn)載于:https://www.cnblogs.com/zsw-1993/p/4879558.html
總結(jié)
- 上一篇: 使用SharePoint 2010新增的
- 下一篇: 基于visual Studio2013解