gpt4 book ai didi

android - 在 API 25 或更低版本上触发通知时无提示/声音

转载 作者:行者123 更新时间:2023-11-29 23:46:13 25 4
gpt4 key购买 nike

使用 NotificationCompat 时在 Android 上,通知仅在 API 级别 26 或更高级别上按预期工作。

  • 我想要:在每个可能的 API 级别 (21+) 上带有提示消息 + 声音的通知。
  • 我做了:设置一个 NotificationChannel,设置 channel 重要性和通知优先级,如 notification docs 中所述
  • 我得到:在 API 级别 26+ 上带有 Heads-Up + 声音的通知和在 API 级别 25 或更低级别上没有 Heads-Up 和没有声音的通知

代码:

val chan2 = NotificationChannel(SECONDARY_CHANNEL,
getString(R.string.noti_channel_second), NotificationManager.IMPORTANCE_HIGH)
manager.createNotificationChannel(chan2)

fun getNotification2(title: String, body: String): NotificationCompat.Builder {
return NotificationCompat.Builder(applicationContext, SECONDARY_CHANNEL)
.setContentTitle(title)
.setContentText(body)
.setSmallIcon(smallIcon)
.setAutoCancel(true)
}

fun notifySecondaryChannel(id: Int, notification: NotificationCompat.Builder) {
notification.priority = NotificationCompat.PRIORITY_MAX
manager.notify(id, notification.build())
}

依赖关系:

  • 支持库版本:27.1.1
  • 编译/目标 sdk:27
  • gradle 工具:3.1.3

完整代码 on github ( fork 和更新的谷歌示例)。

最佳答案

可以使用以下方式播放声音:

builder.setDefaults(Notification.DEFAULT_SOUND) or 
builder.setDefaults(Notification.DEFAULT_ALL)

或 setSound 的覆盖之一。例如:

public Notification.Builder setSound (Uri sound, 
int streamType)

关于android - 在 API 25 或更低版本上触发通知时无提示/声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51363249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com