我已经实施了
application:didReceiveRemoteNotification:
在收到推送通知时将数据存储在我的应用中。
但是当我的应用程序处于后台并收到通知时,只有当我触摸顶部显示的通知横幅时才会存储数据:
相反,如果我触摸应用程序图标重新打开它,则不会存储通知内容:
由于我仅在使用分发配置文件时才收到通知,因此我不确定仅当我将通知横幅推到最顶层时才会调用application:didReceiveRemoteNotification:
。
我认为在收到通知时始终会调用它,而不是在用户对设备执行操作后调用。
更新即可。 我不知道这是否有用,但是,只是为了让你知道,我还没有实现任何这些方法:
– applicationDidEnterBackground:
– applicationWillEnterForeground:
- applicationDidBecomeActive:
答案 0 :(得分:1)
我想我已经找到了原因。来自文档:
如果点击操作按钮(在运行iOS的设备上),则系统 启动应用程序,应用程序调用其代理人 application:didFinishLaunchingWithOptions:方法(如果实现);它 传递通知有效载荷(用于远程通知)或 本地通知对象(用于本地通知)。
如果在运行iOS的设备上点击应用程序图标,则 应用程序调用相同的方法,但不提供任何信息 通知。
但是,我想知道是否有办法加载有效负载,即使通过触摸图标重新打开了应用程序。