私はアラートビューとしてプッシュ通知を行っているiPhoneアプリケーションを持っています.私のアプリケーションがバックグラウンド状態にあるとき、プッシュ通知が来て、それをクリックするか電話のロックを解除すると、アプリに直接入ります.ここで、フォアグラウンド状態のままにしました。表示ボタンをクリックしてアラートにアクションを追加しています。別のView Controllerに移動します。通知をクリックしているときにアプリケーションに入りたくありません。アラートビューを表示し、表示ボタンをクリックすると、アクションを実行する必要があります.誰かがこれを達成するのを手伝ってくれますか.これは私のコードスニペットです `-
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
//check application in forground or background
if(application.applicationState == UIApplicationStateActive)
{
//NSLog(@"FOreGround");
//NSLog(@"and Showing %@",userInfo)
}
else
{
NSDictionary *curDict= [userInfo objectForKey:@"aps"];
UIAlertView *connectionAlert = [[UIAlertView alloc] initWithTitle:@"app" message:[NSString stringWithFormat:@"%@",[curDict objectForKey:@"alert"]] delegate:self cancelButtonTitle:@"View" otherButtonTitles:@"Cancel",nil];
[connectionAlert show];
[connectionAlert release];
[UIApplication sharedApplication].applicationIconBadgeNumber =[[curDict objectForKey:@"badge"] intValue];
}
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"applicationWillEnterForeground");
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if ([title isEqualToString:@"View"])
{
NSArray *mycontrollers = self.tabBarController.viewControllers;
NSLog(@"%@",mycontrollers);
[[mycontrollers objectAtIndex:0] popToRootViewControllerAnimated:NO];
mycontrollers = nil;
tabBarController.selectedIndex = 0;
}
}