Уведомление Android не отображается как сообщение - PullRequest
0 голосов
/ 29 марта 2019

Уведомление само по себе работает хорошо, но не так, как я хочу. Он вибрирует и показывает значок, определенный, но не как уведомление Watsapp, а в setCategory я поставил CATEGORY_MESSAGE, но все равно, ничего!

в моем классе приложений я поставил:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
        NotificationChannel channel = new NotificationChannel(CHANNEL_ID,CHANNEL_NAME,NotificationManager.IMPORTANCE_HIGH);
        channel.setDescription(CHANNEL_DESC);
        channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
        NotificationManager manager = getSystemService(NotificationManager.class);
        assert manager != null;
        manager.createNotificationChannel(channel);
    }

Фрагмент:

private void T(String message){
    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext(),CHANNEL_ID)
            .setContentText(message)
            .setContentTitle("Test")
            .setColor(0xff123456)
            .setSmallIcon(R.drawable.com_facebook_button_icon)
            .setCategory(CATEGORY_MESSAGE)
            .setPriority(PRIORITY_HIGH);
    NotificationManagerCompat compat = NotificationManagerCompat.from(getApplicationContext());
    compat.notify(1,mBuilder.build());

}

Вот как я хочу это уведомить:

enter image description here

Вот как текущее оповещение

enter image description here

Я использую SDK 27

1 Ответ

2 голосов
/ 29 марта 2019

После обсуждения с OP в чате, вот мое лучшее объяснение того, что могло бы произойти:

Канал уведомления может быть создан только один раз, после чего он становится неизменным для приложения. Это может быть настроено только пользователем через настройки. Если кто-то последует примеру в официальных документах, он может создать канал с IMPORTANCE_DEFAULT. После этого, даже если они изменят код позже, канал останется на уровне «Высокий: сделать звук» и не будет установлен на «Срочно: сделать звук и появиться на экране», как требуется. Документы по уровню важности


Код, о котором идет речь, в порядке, и при первой установке должен создать канал с уровнем «Срочно». В любом случае, удаление приложения вручную, а затем повторная его установка воссоздадут каналы, установив уровень на то, что указано в последнем коде.

...