当收到远程推送通知时,是否有办法让应用程序在后台唤醒,并阻止iOS 7/8显示通知提醒(类似于使用WakefulBroadcastReceiver
和{{1}在Android中可以执行的操作})?我正在跳跃,LocalBroadcastManager
将允许实现这一点,但看起来它不是为此目的而设计的。对于实时系统,服务器有时必须将多个通知推送到应用程序,并且我希望防止在用户设备上出现多个警报,因为只有最后一个重要。当然我可以处理该服务器端,但更愿意在应用程序中实现该逻辑。
答案 0 :(得分:1)
不要在通知对象中发送“alert”键。并且content-available标志为1,用于后台通知。如果您想在某个时刻向用户显示警报,您可以设法使用收到的“额外”通知字典中的内容显示提醒。
答案 1 :(得分:1)
这是可能的,didReceiveRemoteNotification:fetchCompletionHandler
的目的正是为了你所指的。
aps词典还可以包含content-available属性。值为1的content-available属性允许远程通知充当“静默”通知。当无声通知到达时,iOS会在后台唤醒您的应用程序,以便您可以从服务器获取新数据或进行后台信息处理。用户不会被告知由静默通知产生的新信息或更改信息,但他们可以在下次打开您的应用时找到相关信息。
此处提供更多信息: