在播放时取消推送通知声音

时间:2012-03-02 10:46:18

标签: ios audio push-notification mute

试图找到这个,但找不到任何提出相同问题的问题。

基本上我已经设置了我的推送通知,一切正常,并且在应用程序打开和关闭时都会收到它们。然而,我们使用的推噪很长,我不确定一旦他们按下警报上的“确定”按钮就可以取消声音。

我曾尝试使用静音拨动开关,但这似乎只是在声音开始播放的时刻发挥作用,如果它关闭声音播放,如果它打开然后它没有“T。如果我在中间切换开关,则无效。但是,如果我只是在我的应用程序中播放常规声音片段(不是推送通知声音)并使用拨动开关,那么声音就会停止/启动。

有没有办法取消声音?或者它被视为某种系统声音的不同?

编辑:过去几天我一直试图自己解决这个问题,而且我得出的结论是,没有办法取消推送警报声中音。任何人都可以确认这是绝对的情况吗?

Edit2:由于某种原因,xcode标签已被删除 - 原因是它与xcode无关。我觉得我的问题可能不明确 - 我使用xcode构建应用程序,我正在寻找一种方法来以编程方式控制是否听到推送通知声音。感谢。

3 个答案:

答案 0 :(得分:0)

没有给出答案,经过过去几个月的尝试和失败,我只能假设这是不可能的(以防万一将来会有同样的问题)。

答案 1 :(得分:0)

对我有用:     [[UIApplication sharedApplication] cancelAllLocalNotifications]

答案 2 :(得分:0)

从iOS 10开始,您可以通过调用从通知中心删除所有通知

UNUserNotificationCenter.current().removeAllDeliveredNotifications()

音频停止播放,并且所有通知均从通知中心中删除。

或者,要仅停止特定通知的声音,可以使用:

UNUserNotificationCenter.current().removeDeliveredNotifications(withIdentifiers: [String])

这将仅停止给定通知的音频,并将其从通知中心中删除。

要获取所有已传递通知的ID,请使用

UNUserNotificationCenter.current().getDeliveredNotifications { notifications in
  let ids = notifications.map { $0.request.identifier }
}