我们有一个接收远程 APNS 推送通知的 iOS 应用程序(软件电话)。我们的服务器知道当该用户有来电时发送 APNS 推送,而我们的软电话应用程序不是设备上的活动应用程序。APNS 到达,向用户显示来电,横幅或警报弹出显示,铃声开始播放。如果用户点击通知,通知消失,铃声停止,我们的应用程序启动并接听电话。到目前为止,一切都很好。但是,如果来电通知显示为横幅,用户可以通过点击应用程序图标直接启动我们的应用程序。在这种情况下,我们希望我们的应用程序立即隐藏/关闭来电通知。我们尝试发送这些命令(根据 iOS 应用程序:如何清除通知?):
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
问题是通知横幅消失了,但通知声音(25 秒 wav 铃声)继续播放到最后。有没有办法从我们的代码中立即停止这种通知音?