【问题标题】:iOS Push Notification - check if the banner is showing when app is in backgroundiOS 推送通知 - 检查应用程序在后台时是否显示横幅
【发布时间】:2014-07-03 05:06:03
【问题描述】:

我有一个 VoIP 应用,其中来电通知非常重要。

问题是,有时我没有收到推送通知(甚至 Apple 也表示无法保证)。但是,我确实有一种机制可以在应用程序处于后台时注意到来电。

所以,我想做的是.. 仍然使用推送通知作为来电的主要处理程序(因为它处理应用程序关闭时的情况)。但是,如果推送通知发送失败并且我的应用收到了通话邀请,我会发出本地通知,告诉用户您有来电。

我的问题是...如何在决定是否触发本地通知之前检查通知是否正在显示?

【问题讨论】:

    标签: ios objective-c notifications apple-push-notifications


    【解决方案1】:

    AFAIK 您只能在用户点击横幅时检测到通知,或者在通知到来时应用程序是否打开。所以我看不到一种方法来检测通知是否已经到来。更麻烦的是,推送通知以其不可靠性而闻名。

    【讨论】:

    • 同意。这样的痛苦。我认为诺亚的建议很好。现在试试。
    【解决方案2】:

    没有 API 可以获取有关通知状态的任何信息。由于您正在制作 VoIP 应用程序,因此您可以选择将其唤醒以接收传入数据,这样您就可以在需要时发布“来电”通知 - 请参阅“为 VoIP 使用配置套接字”部分@ 987654321@.

    【讨论】:

    • 我想我已经部​​分遵循了让应用程序保持活动状态并收听传入数据的提示。这是否意味着我应该只使用本地“来电”通知并放弃推送通知?
    • 是的,没错。推送通知应该是多余的。
    • 如果应用关闭了,那我就什么都得不到了?那是一个新问题..
    • 不应该。我描述的 VoIP 多任务系统的全部意义在于使此类应用程序成为可能。系统应该在启动时启动您的应用程序,并在它死机时将其重新启动。我建议尝试一下。
    • 我试过了。有效。但如果我终止应用程序(从多任务面板向上滑动),它就会停止工作。
    猜你喜欢
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 2016-01-16
    • 2019-04-07
    • 1970-01-01
    • 2015-11-10
    相关资源
    最近更新 更多