3

Если вы когда-либо загрузили приложение Telegram или другое приложение для обмена сообщениями, вы увидите, что когда вы находитесь в приложении (статус приложения активен), когда вы будете получать сообщение, вы увидите его уведомление внутри приложения в верхней части экрана. Когда вы касаетесь этого пользовательского уведомления, оно перенаправит вас на экран чата.
Определите, открывать ли пользователь приложение из уведомления

Но когда приложение неактивно (приложение находится в фоновом режиме), и вы получаете уведомление чата вне приложения, возможно, на экране блокировки или другом приложении. Если вы коснетесь его, он откроет приложение и перенаправит вас на экран чата без специального уведомления в приложении.

Для этого я думаю, что я должен знать, как определить приложение, открытое из уведомления, или нет. Вопрос, как определить, открылось ли приложение извещения или в настоящее время активно?

+1

Смотрите, если эта нить помогает, это может быть уже ответил: http://stackoverflow.com/questions/16393673/detect-if -The-приложение-было запущенно открыто, из-а-нажимного уведомления –

ответ

8

Objective-C:

-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    if ([UIApplication sharedApplication].applicationState==UIApplicationStateActive) { 
     NSLog(@"App already open"); 
    } else { 
     NSLog(@"App opened from Notification"); 
    } 
} 

Swift:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) { 
    if application.applicationState == UIApplicationState.Active { 
     println("App already open") 
    } else { 
     println("App opened from Notification") 
    } 
} 
Смежные вопросы