簡體   English   中英

iOS 推送通知聲音不會在打開時取消

[英]iOS push notification sound doesn't cancel on open

我正在創建一個應用程序,它使用帶有自定義聲音的 Apple 推送通知(大約 15 秒長)。 如果我在使用手機時打開通知,聲音會終止,但是如果我在從睡眠模式喚醒手機時打開通知,聲音會繼續播放直到結束。 如何避免不必要的推送聲音播放?

我知道現在已經很晚了,但事實證明,蘋果並沒有提供任何 API 來管理推送通知聲音,因此您無法阻止它播放。 我建議您使用較短的推送通知聲音。 這也是有道理的,因為推送通知的目的是在短時間內通知用戶新事件,而不是長時間打擾他。

從 iOS 10 開始,您可以通過調用從通知中心刪除所有通知

UNUserNotificationCenter.current().removeAllDeliveredNotifications()

音頻停止播放,但所有通知都從通知中心刪除。

或者,要僅為特定通知停止聲音,您可以使用:

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

這將僅停止給定通知的音頻,並將它們從通知中心中刪除。

要獲取所有已發送通知的 ID,請使用

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

當然,缺點是通知從用戶的通知中心中刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM