【问题标题】:notification channel min API level vs. target API level通知通道最低 API 级别与目标 API 级别
【发布时间】:2017-12-06 10:43:04
【问题描述】:
在我的应用程序中,我将最低 API 级别设置为 19,目标级别设置为 26(奥利奥)。现在,当我尝试创建没有通知通道的通知时,它不起作用,因为当目标 API 级别为 26 时需要通知通道。但是当我尝试创建通知通道时,IDE 抱怨创建通知通道需要 min API 级别 26。
我应该怎么做?我不希望将最低级别设置为 26。
【问题讨论】:
标签:
android
notifications
android-notifications
【解决方案1】:
您不必将最低 API 级别设置为 26。您可以在运行时检查 API 级别,以便在 API 级别等于或高于 Android 8.0(API 级别 26)时有条件地调用 createNotificationChannel
if (Build.VERSION.SDK_INT >= 26) {
NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID,
CHANNEL_NAME, NotificationManager.IMPORTANCE_LOW);
notificationManager.createNotificationChannel(notificationChannel);
notification = new Notification.Builder(this, CHANNEL_ID)
.setContentTitle("title...")
.setContentText("message...")
.setSmallIcon(R.drawable.ic_notification)
.setContentIntent(pendingIntent)
.build();
}