[英]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.