android - Android Oreo 上的 NotificationManagerCompat

标签 android android-notifications

有没有办法在使用 NotificationManagerCompatNotificationCompat 时在 Android Oreo 上设置 channel ?

最佳答案

由于 NotificationManagerCompat 只是一个使生活更轻松的包装类,您可以正常创建 channel :

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    val name = getString(R.string.channel_title)
    val description = getString(R.string.channel_description)
    val importance = NotificationManager.IMPORTANCE_HIGH
    val mChannel = NotificationChannel(CHANNEL_ID, name, importance)
    mChannel.description = description
    mChannel.enableLights(true)
    mChannel.lightColor = Color.parseColor("#5B3C88")
    mChannel.enableVibration(true)
    mChannel.vibrationPattern = longArrayOf(100, 200, 300, 400, 500, 400, 300, 200, 400)
    val manager = (context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager)
    manager.createNotificationChannel(mChannel)
}

然后在发布通知时使用 NotificationManagerCompat,但不要忘记使用新的构造函数构造通知:

NotificationCompat.Builder(context, CHANNEL_ID)

关于android - Android Oreo 上的 NotificationManagerCompat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45878921/

相关文章:

请求缓慢时的Android Volley双发

android - 对话框 : dim everything except some region

android - 调用 addAction 时删除通知?

java - 您是否可以删除系统栏(返回、主页、最近使用的应用程序)而不将应用程序全屏显示,以便仍然可以访问通知栏? (4.x)

java - 来自 BroadcastReceiver 的 Android 通知未显示

android - Admob SDK适配后集成示例

android - 检查 fragment 是否显示为对话框以更改点击监听器行为

android - 如何在android中显示多个通知

android - 更改其他应用程序的通知声音

android - 使用 PendingIntent 和 NotificationManagerCompat 打开 Play Store