Я использую плагин flutter_local_notification: 17.2.1.
уведомление запланировано, но никогда не отправляется.
Сначала я подумал, что система не планирует уведомление. Чтобы подтвердить это, я добавил кнопку в список всех ожидающих сигналов тревоги в системе.
когда я планирую уведомление и нажимаю, чтобы проверить, есть ли этот сигнал тревоги в системном списке запланированных уведомлений, он показывает, что запланировано 1 уведомление, но по истечении запланированного времени также отображается это уведомление о сигнале тревоги в системе. Это означает, что уведомление никогда не было отправлено.
Я проверил, что приложения используют батарею и использование фона разрешено. Кроме того, в разрешении на уведомления уведомления также разрешены.
Но я не знаю, в чем проблема.
Вот мой код файла AndroidManifest, специфичный для уведомлений.
Код: Выделить всё
Код: Выделить всё
I/flutter ( 7766): TEST: Scheduling test notification for 2025-11-24 23:34:12.491086
I/flutter ( 7766): Scheduling for: 2025-11-24 23:34:12.491086+0530 (Timezone: Asia/Calcutta)
I/flutter ( 7766): Notification Scheduled: ID 999999 at 2025-11-24 23:34:12.491086
Код: Выделить всё
Future scheduleNotification({
required int id,
required String title,
required String body,
required DateTime scheduledTime,
String payload = '',
}) async {
if (!(await Permission.notification.isGranted)) {
print("Cannot schedule notification: Notification Permission NOT GRANTED.");
return;
}
if (!(await Permission.scheduleExactAlarm.isGranted)) {
print("Cannot schedule notification: Exact Alarm Permission NOT GRANTED.");
return;
}
try {
await _flutterLocalNotificationsPlugin.zonedSchedule(
id,
title,
body,
_nextInstanceOfTime(scheduledTime),
const NotificationDetails(
android: AndroidNotificationDetails(
'Test_Notification_id_v2',
'Test Notification',
channelDescription: 'Channel for Test Notification',
importance: Importance.max,
priority: Priority.high,
ticker: 'ticker',
),
iOS: DarwinNotificationDetails(
presentAlert: true,
presentBadge: true,
presentSound: true,
),
),
androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle,
uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime,
payload: payload,
);
print('Notification Scheduled: ID $id at $scheduledTime');
} catch (e) {
print('Error scheduling notification: $e');
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... or-android
Мобильная версия