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