有人能给我展示一下用代码如何使用本地通知插件在Flutter中安排通知吗?我试过Git存储库中的示例,但对我来说并不起作用。虽然普通通知可以工作,但是如何为特定时间安排它,例如提醒?
有人能给我展示一下用代码如何使用本地通知插件在Flutter中安排通知吗?我试过Git存储库中的示例,但对我来说并不起作用。虽然普通通知可以工作,但是如何为特定时间安排它,例如提醒?
如果您想要安排通知,可以使用类似以下代码的方式:
从插件示例代码中:
/// Schedules a notification that specifies a different icon, sound and vibration pattern
Future _scheduleNotification() async {
var scheduledNotificationDateTime =
new DateTime.now().add(new Duration(seconds: 5));
var vibrationPattern = new Int64List(4);
vibrationPattern[0] = 0;
vibrationPattern[1] = 1000;
vibrationPattern[2] = 5000;
vibrationPattern[3] = 2000;
var androidPlatformChannelSpecifics = new AndroidNotificationDetails(
'your other channel id',
'your other channel name',
'your other channel description',
icon: 'secondary_icon',
sound: 'slow_spring_board',
largeIcon: 'sample_large_icon',
largeIconBitmapSource: BitmapSource.Drawable,
vibrationPattern: vibrationPattern,
color: const Color.fromARGB(255, 255, 0, 0));
var iOSPlatformChannelSpecifics =
new IOSNotificationDetails(sound: "slow_spring_board.aiff");
var platformChannelSpecifics = new NotificationDetails(
androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await flutterLocalNotificationsPlugin.schedule(
0,
'scheduled title',
'scheduled body',
scheduledNotificationDateTime,
platformChannelSpecifics);
}
// Schedule a notification in 5 secs from now
var scheduledNotificationDateTime =
new DateTime.now().add(new Duration(seconds: 5));
如果您不确定原生项目设置该如何进行以显示通知,请克隆插件存储库并尝试其示例。
/// 重要提示:单独运行以下代码将无法正常工作, 因为每个平台的头项目都需要设置。
/// 请从GitHub存储库下载完整的示例应用程序,其中所有设置都已完成
const AndroidNotificationDetails androidPlatformChannelSpecifics = AndroidNotificationDetails('repeating channel id','repeating channel name', 'repeating description');
const NotificationDetails platformChannelSpecifics = NotificationDetails(android: androidPlatformChannelSpecifics);
await flutterLocalNotificationsPlugin.periodicallyShow(0, 'repeating title', 'repeating body', RepeatInterval.everyMinute, platformChannelSpecifics, androidAllowWhileIdle: true);
你可以使用 periodicallyShowflutter_local_notifications