Edw*_*ony 4 objective-c push-notification apple-push-notifications ios swift
如果您下载Telegram App或其他消息应用程序,您将看到当您进入应用程序时(应用程序状态处于活动状态),当有人给您发消息时,它会在屏幕顶部的应用程序内显示自定义通知.当您触摸该自定义通知时,它会将您重定向到聊天屏幕.
但是当应用程序处于非活动状态时(应用程序处于后台),您可以在应用程序外部获得聊天通知,可能是在锁定屏幕或其他应用程序上.如果您触摸它,它将打开应用程序并将您重定向到聊天屏幕,而无需应用程序内自定义通知.
要做到这一点,我想我应该知道如何确定通知是否打开了应用程序.问题,如何确定应用程序是从通知中打开还是当前处于活动状态?
Objective-C的:
-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
if ([UIApplication sharedApplication].applicationState==UIApplicationStateActive) {
NSLog(@"App already open");
} else {
NSLog(@"App opened from Notification");
}
}
Run Code Online (Sandbox Code Playgroud)
迅速:
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
if application.applicationState == UIApplicationState.Active {
println("App already open")
} else {
println("App opened from Notification")
}
}
Run Code Online (Sandbox Code Playgroud)