当应用程序未运行时,使用推送通知的内容更新 SQLite
Posted
技术标签:
【中文标题】当应用程序未运行时,使用推送通知的内容更新 SQLite【英文标题】:update SQLite with content of push notification when the app is not running 【发布时间】:2015-04-22 11:30:14 【问题描述】:有没有办法在收到推送通知但应用当前未运行(或应用被终止)后立即更新 SQLite。
如果通知在应用程序运行或后台时到达 - “didReceiveRemoteNotification”方法处理我的更新。
如果通知在应用程序未运行时到达,我想将推送通知的内容更新到我的 sqlite。当用户点击通知时更新有效,但当用户点击应用程序图标时更新无效。 请帮忙。谢谢。
【问题讨论】:
没有办法做到这一点。通知由 ios 自己处理。如果应用程序会处理这个问题,可能有一些方法可以解决这个问题。我一直在浪费时间,但没有成功。 【参考方案1】:我认为没有点击就无法更新数据库。但是,如果您的应用正在使用苹果文档中提到的 VOIP 或位置更新等后台模式,https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
然后它可能会在特定时间唤醒您的应用并执行更新部分。 编辑 顺便说一句,当推送通知到达时,服务器也应该更新,我不认为推送通知是更新数据库的好方法。相反,您应该调用您的服务器以获取最新的本地事件,然后更新到您的 sqlite。您可以在 didFinishLaunching 或 didEnterForeground 中执行此操作。只是一个建议。
【讨论】:
谢谢拉詹的回答。我会接受你的建议。以上是关于当应用程序未运行时,使用推送通知的内容更新 SQLite的主要内容,如果未能解决你的问题,请参考以下文章