iOS根據推送訊息彈出指定介面
iOS的推送收到推送訊息有三種情況
1:程式在已經退出(程式被系統殺死的時候)
2:程式在後臺掛起的時候(按Home鍵或者下拉檢視通知列表的時候)
3:程式在前臺執行的時候
當程式退出的時候,點選推送訊息會呼叫的方法是:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (launchOptions) {
//launchOptions是推送訊息的主體,打印出來可以看到後臺推送過來的訊息,可以根據後臺的訊息進行操作
[selfgetRemoteNotificationWithRemoteDic:remoteNotification];
}
}當程式沒有被系統殺死的時候,點選推送訊息會呼叫的方法是:
//應用收到遠端通知時的
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
//userInfo 是推送訊息的主體
//儲存後臺狀態下的推送訊息
//UIApplicationStateInactive----------應用程式在後臺掛起
if ([UIApplicationsharedApplication].applicationState == UIApplicationStateInactive) {
[selfgetRemoteNotificationWithRemoteDic:userInfo];
}elseif ([UIApplicationsharedApplication].applicationState == UIApplicationStateActive){
//應用程式在前臺的時候
}
}
//點選推送訊息所做的處理--------模態彈出一張圖片
- (void
{
//判斷根檢視有沒有模態彈出的圖片,如果有,先把那個模態彈出的檢視給移除,再載入
UCSRootViewController *ucsRVC = (UCSRootViewController *)[UIApplicationsharedApplication].keyWindow.rootViewController;
if (ucsRVC.presentedViewController) {
[ucsRVC.presentedViewControllerdismissViewControllerAnimated:YEScompletion:nil];
}
}