ios - 区分应用程序是从远程通知启动还是通过单击应用程序图标启动

标签 ios cocoa-touch apple-push-notifications

<分区>

我有一个接收远程通知的应用程序。当应用程序在后台运行时,我可以通过两种方式将应用程序调到前台:
1. 通过点击通知中心的通知。
2. 单击 iPad 主屏幕上的应用程序图标。

我知道在这两种情况下,applicationDidBecomeActive: 都会被调用。
我想区分以上两种情况。对于情况 1,我想打开一个屏幕,对于情况 2,我想打开一个完全不同的屏幕,所以这种区别对我来说是必不可少的。如果有人能在这方面帮助我,我将不胜感激!!

提前致谢。

最佳答案

当应用程序通过推送通知启动时,它将首先调用:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    //Application did receive push notification. Do whatever you want to do
}

在应用委托(delegate)中。 applicationDidBecomeActive 将在之后调用。

单击应用程序图标时,如果应用程序尚未在多任务菜单中打开,它将通过 didFinishLaunchingWithOptions 启动。或者再次 applicationDidBecomeActive 如果它已经处于事件状态。

关于ios - 区分应用程序是从远程通知启动还是通过单击应用程序图标启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27528913/

相关文章:

ios - 在 iOS 中预览 Dropbox 文件

ios - 在 iOS 设备上部署文件 delphi xe

iphone - iOS - 使用键盘 "next"按钮更改 ViewController?

ios - 当应用程序被用户强制退出时如何处理推送通知? [iOS]

python - Twisted 和 pyapns 的推送通知错误

iphone - 刷新通知中心内的 View Controller 类

ios - Web View 非法接口(interface)限定符

ios - 如何清除/删除 iCloud 备份数据?

iphone - 调用superview的viewwillappear是什么意思?

php - stream socket client persistent 保持打开多长时间以及如何确认没有重复连接