Показать уведомление для Android O и выше без AppCompat - PullRequest
0 голосов
/ 26 ноября 2018

Итак, у меня есть сверхлегкое приложение без каких-либо библиотек, кроме Crashlytics.

Я хочу показывать уведомления во всех версиях Android, но нет конструктора или метода для установки идентификатора канала для Android O +.

Мой код на данный момент выглядит следующим образом

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context);

    //Some builder things

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        NotificationChannel channel = new NotificationChannel("service_id",
                context.getString(R.string.app_name),
                NotificationManager.IMPORTANCE_DEFAULT);
        channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
        ((NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel);
    }

    Notification notification = builder.getNotification();
    NotificationManagerCompat.from(context).notify(id, notification);

Существует ли библиотека compat lite только для уведомлений?

1 Ответ

0 голосов
/ 26 ноября 2018

Оба Notification.Builder и NotificationCompact.Builder могут сделать это:

Notification.Builder(context, "channelId")
NotificationCompat.Builder(context, "channelId")

, и у них есть метод setChannelId.

...