Уведомление MIUI не работает

Я изо всех сил пытаюсь заставить свои уведомления отображать заголовки или заглядывать, как это также называется.

Он отлично работает со стандартным Android и Lineage OS API 21-26.

Что нужно сделать, чтобы заставить его работать в MIUI 8?

Приложение имеет ВСЕ разрешения на уведомления.

Это пример моего кода уведомления:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
    NotificationCompat.Builder notification = new NotificationCompat.Builder(context, "service_notifications")
        .setContentTitle(name)
        .setContentText("\uD83D\uDD14" + res.getText(R.string.imminent_arrival_text) + String.valueOf(Long.parseLong(eta) / 60) + res.getText(R.string.minutes_at_text) + simpleETA)
        .setSmallIcon(R.drawable.ic_stat_name)
        .setContentIntent(null)
        .addAction(R.drawable.ic_dialog_close_light, res.getText(R.string.stop_following_label), closePendingIntent)                                
        .setSound(Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.quite_impressed))
        .setVibrate(new long[]{1000, 1000})                                    
        .setPriority(NotificationCompat.PRIORITY_MAX)                                    
        .setCategory(NotificationCompat.CATEGORY_MESSAGE);

    notificationManager.notify(
        Constants.NOTIFICATION_ID.FOREGROUND_SERVICE,
        notification.build());
}

person eben80    schedule 04.03.2018    source источник
comment
Вы пробовали добавить шаблон вибрации?   -  person HedeH    schedule 04.03.2018
comment
Привет да у меня есть. Я добавил пример кода выше. Этот код генерирует предупреждение на Stock Android и LineageOS, но не на MIUI... И да, все разрешения на уведомления были предоставлены приложению.   -  person eben80    schedule 04.03.2018
comment
Попробуйте добавить setDefaults(Notification.DEFAULT_ALL)   -  person HedeH    schedule 04.03.2018
comment
я добавил решение для MIUi, пожалуйста, проверьте   -  person Santanu Sur    schedule 04.03.2018


Ответы (1)


Вы можете сделать это двумя способами.

Go to:

  1. Настройки

  2. Установленные приложения (мигрируйте в свое приложение)

  3. Выберите свое приложение и перейдите к уведомлениям ( включите «Приоритет», а также включите «Плавающее уведомление»)

Или создайте удаленное представление (ваш собственный макет в res/layout) и установите customHeadsUpNotification

 RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.notif_custom_view);

 notification_builder.createHeadsUpContentView(remoteViews);

Не забудьте изменить уведомление_идентификатор после внесения этих изменений.

person Santanu Sur    schedule 04.03.2018
comment
Спасибо! Впервые я могу запустить хедз-ап на MIUI. Я посмотрю, имеет ли смысл теперь перестраивать все мои уведомления, чтобы вместо этого использовать RemoveViews. - person eben80; 05.03.2018
comment
createHeadsUpContentView(remoteViews) не принимает remoteViews в качестве аргумента. Также у меня не работает на miui 10. Не могли бы вы помочь @santanu-sur - person Shahid Kamal; 12.01.2019