You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Local Notifications定时通知无法正常显示求助

Flutter Local Notifications定时通知无法正常显示问题

我使用Flutter Local Notifications包,按照官方文档完成配置后,遇到了定时通知无法在应用中正常显示的问题。我尝试引入第三方示例代码替换现有实现,但问题仍未解决。

相关代码片段

homepage.dart

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  tz.initializeTimeZones();
runApp(MyApp(currentpage: 'All'));
  openMyDatabase();
}

onPressed: () {
            WidgetsFlutterBinding.ensureInitialized();
            var reminder = NotificationsReminder();
            reminder.scheduleNotification();
}

notificationsreminder.dart

class NotificationsReminder {
  late FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin;

  NotificationsReminder() {
    flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();

    var initializationSettingsAndroid =
        const AndroidInitializationSettings('@mipmap/ic_launcher');

    var initializationSettings =
        InitializationSettings(android: initializationSettingsAndroid);

    flutterLocalNotificationsPlugin.initialize(initializationSettings);

    _createNotificationChannel();
    _requestIOSPermissions();
  }

  Future<void> _createNotificationChannel() async {
    var details = const AndroidNotificationChannel(
      'your_channel_id',
      'your_channel_name',
      description: 'your channel description',
      importance: Importance.max,
    );

    await flutterLocalNotificationsPlugin
        .resolvePlatformSpecificImplementation<
            AndroidFlutterLocalNotificationsPlugin>()
        ?.createNotificationChannel(details);

  Future<void> scheduleNotification() async {
    print('Scheduled notification for 5 seconds later');
    await flutterLocalNotificationsPlugin.zonedSchedule(
        0,
        'Scheduled Notification',
        'This notification was scheduled to appear after 5 seconds.',
        tz.TZDateTime.now(tz.local).add(const Duration(seconds: 5)),
        const NotificationDetails(
          android: AndroidNotificationDetails(
              'your_channel_id', 'your_channel_name',
              channelDescription: 'your channel description',
              importance: Importance.max,
              priority: Priority.high,
              showWhen: false),
        ),
        androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle,
        uiLocalNotificationDateInterpretation:
            UILocalNotificationDateInterpretation.absoluteTime);
  }

}

AndroidManifest.xml

<receiver android:exported="false" android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />
<receiver android:exported="false" android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
    
<receiver android:exported="false" android:name="com.dexterous.flutterlocalnotifications.ActionBroadcastReceiver" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />

内容的提问来源于stack exchange,提问作者Luis Pereira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:25:14