在 Android | Kotlin 中,通知通道优先级和通知优先级都涉及到 Android 平台中通知系统的优先级设置。
通知通道是 Android 8.0(API 级别 26)及更高版本中引入的一个新概念。通知通道将通知分组并提供一种统一的方法来控制其在通知抽屉中的外观和行为。其中,通知通道优先级用于确定通知组中每个通知的默认优先级设置。
通知优先级是 Android 平台中每个通知实例自己的优先级设置。可以通过 NotificationCompat.Builder.setPriority() 方法设置通知的优先级。
在以下示例中,我们将创建一个通知通道对象并设置其名称、描述和优先级。然后,我们将使用 NotificationCompat.Builder.setPriority() 方法创建一个通知实例,并设置其优先级。
// 创建通知通道
val channelId = "my_channel_id"
val channelName = "My Channel Name"
val channelDescription = "My Channel Description"
val channelImportance = NotificationManager.IMPORTANCE_DEFAULT
val notificationChannel = NotificationChannel(channelId, channelName, channelImportance).apply {
description = channelDescription
enableLights(true)
lightColor = Color.RED
enableVibration(true)
vibrationPattern = longArrayOf(0, 1000, 500, 1000)
}
// 将通知通道添加到系统通知管理器中
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(notificationChannel)
// 创建一个通知实例
val notificationTitle = "My Notification Title"
val notificationText = "My Notification Text"
val notificationPriority = NotificationCompat.PRIORITY_HIGH
val notificationBuilder = NotificationCompat.Builder(applicationContext, channelId)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle(notificationTitle)
.setContentText(notificationText)
.setPriority(notificationPriority)
// 发送