【问题标题】:Determine if the user open app from notification确定用户是否从通知中打开应用
【发布时间】:2015-11-01 22:39:47
【问题描述】:
如果您曾经下载过 Telegram App 或其他消息应用程序,您会看到当您在应用程序内部时(应用程序状态为活动),当有人向您发送消息时,它会在应用程序顶部显示您的自定义通知屏幕。当您触摸该自定义通知时,它会将您重定向到聊天屏幕。
但是当应用处于非活动状态(应用处于后台)时,您会在应用外部收到聊天通知,可能是在锁定屏幕或其他应用上。如果您触摸它,它将打开应用并将您重定向到聊天屏幕没有应用内自定义通知。
为此,我想我应该知道如何确定应用程序是否从通知中打开。
问题,如何确定应用是从通知中打开还是当前处于活动状态?
【问题讨论】:
标签:
ios
objective-c
swift
push-notification
apple-push-notifications
【解决方案1】:
目标-C:
-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
if ([UIApplication sharedApplication].applicationState==UIApplicationStateActive) {
NSLog(@"App already open");
} else {
NSLog(@"App opened from Notification");
}
}
斯威夫特:
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
if application.applicationState == UIApplicationState.active {
print("App already open")
} else {
print("App opened from Notification")
}
}