0

我正在使用 linphone 开发 iOS 门铃应用程序。当有人按门铃且 iOS 应用程序未激活时,手机上会显示推送通知,您可以单击它,应用程序打开,您可以接听门铃。

现在,想象一下一小时后看到推送通知。门口已经没有人了,所以一旦门铃停止响起,我想删除或更新推送通知。我UNNotificationServiceExtension知道何时释放 sip 呼叫,所以我希望那时删除通知。

然而,似乎一旦我显示有人在门口的通知,我就不能再打电话了removeAllDeliveredNotifications

所以,这有效:

UNUserNotificationCenter.current().removeAllDeliveredNotifications()
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
    contentHandler(bestAttemptContent)
}

这不会:

contentHandler(bestAttemptContent)
UNUserNotificationCenter.current().removeAllDeliveredNotifications()

当然,我想在显示通知后删除通知并给用户一些时间来单击它。有没有办法来解决这个问题?对我来说,另一个选择是能够将已经发送的推送通知更新为“有人在你家门口”之类的。

我希望能够做到这一点,serviceExtensionTimeWillExpire但看到我已经打电话contentHandler(bestAttemptContent)了,我不能再这样做了。

有任何想法吗?

4

0 回答 0