我无法弄清楚macOS应用程序是否因为点击推送通知而再次激活,或者只是以另一种方式再次重新打开它。
我有一个应用程序,允许用户互相聊天。为了提醒用户新消息,我在应用程序未运行或应用程序运行但未激活时向其发送推送通知。当应用程序处于活动状态时,它将在内部显示通知,并且通知中心不会显示任何通知。
当它没有运行时,我可以通过推送通知打开我的应用程序并找出谁在哪个对话中发送了该消息,因为它会在applicationDidFinishLaunching中的aNotification Notification中提供所有详细信息,所以我知道我必须在启动后立即执行一些特殊操作,例如打开某个聊天。
但是当应用程序已经运行时,它首先调用didReceiveRemoteNotification,当我从推送通知中打开应用程序时,无法将其与应用程序图标上的常规点击区分开以获得焦点再次或在applicationDidBecomeActive中点击推送通知。在iOS中,应用程序将始终可见或来自后台,这种区别在桌面上不会如此清晰。
我需要知道应用程序再次变为活动状态,因为用户点击了推送通知,如果有,那么该通知的有效负载是什么,因此我可以立即将用户路由到正确的屏幕。