Локальное уведомление 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
Как цитируется по ссылке:
- Действия пользователя происходят в полноэкранном режиме (приложение использует fullScreenIntent).
- Уведомление имеет высокий приоритет и использует рингтоны или вибрацию на устройствах под управлением Android 7.1 (уровень API 25) и ниже.
- Канал уведомлений имеет большое значение на устройствах под управлением Android 8.0 (уровень API 26) и выше.