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
相关产品推荐
相关产品推荐

