通知渠道最小API级别与目标API级别

时间:2017-11-10 18:55:02

标签: android notifications android-notifications

在我的应用中,我将min API级别设置为19,目标级别设置为26(Oreo)。现在,当我尝试创建没有通知通道的通知时,它不起作用,因为当目标API级别为26时需要通知通道。但是当我尝试创建通知通道时,IDE会抱怨创建通知通道需要min API级别26。

我应该怎么做?我不希望将最低级别设置为26。

1 个答案:

答案 0 :(得分:1)

您不必将最低API级别设置为26.您可以在运行时检查API级别,以便在API级别等于或高于Android 8.0(API级别)时有条件地调用createNotificationChannel 26)

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();
}