Локальное уведомление Flutter показывает только точку на Android

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

Уведомление на самом деле нормально отображается в Центре уведомлений:

Я обязательно init и я зову instantNotification что выглядит так:

        Future initialize() async {
    FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
        FlutterLocalNotificationsPlugin();

    AndroidInitializationSettings androidInitializationSettings =
        AndroidInitializationSettings('app_icon');

    IOSInitializationSettings iosInitializationSettings =
        IOSInitializationSettings();

    final InitializationSettings initializationSettings =
        InitializationSettings(
            android: androidInitializationSettings,
            iOS: iosInitializationSettings);

    await flutterLocalNotificationsPlugin.initialize(initializationSettings);
  }

  //Instant Notifications
  Future instantNofitication() async {
    var android = AndroidNotificationDetails('id', 'channel', 'description');

    var ios = IOSNotificationDetails();

    var platform = new NotificationDetails(android: android, iOS: ios);

    await _flutterLocalNotificationsPlugin.show(
      0,
      'Demo instant notification',
      'Tap to do something',
      platform,
      payload: 'Welcome to demo app',
    );
  }

Что мне здесь не хватает?

2 ответа

Вы можете попробовать установить максимальный уровень важности уведомления с помощью этой строки:

      importance: Importance.max

который вы добавляете в экземпляр класса AndroidNotificationDetails. Это сообщит ОС Android, что уведомление важно для пользователя, и в течение нескольких секунд в верхней части экрана должно отображаться всплывающее окно.

Я думаю, что это решит вашу проблему после прочтения документации по уведомлениям Android.

В дополнение к ответу @Antonio Valentic добавьте следующие свойства в AndroidNotificationDetails

      importance: Importance.max,
priority: Priority.max,
fullScreenIntent: true,
enableVibration: true,
playSound: true

Как цитируется по ссылке:

  1. Действия пользователя происходят в полноэкранном режиме (приложение использует fullScreenIntent).
  2. Уведомление имеет высокий приоритет и использует рингтоны или вибрацию на устройствах под управлением Android 7.1 (уровень API 25) и ниже.
  3. Канал уведомлений имеет большое значение на устройствах под управлением Android 8.0 (уровень API 26) и выше.
Другие вопросы по тегам