本地通知颤动
Posted
技术标签:
【中文标题】本地通知颤动【英文标题】:Local notification flutter 【发布时间】:2019-01-16 10:37:13 【问题描述】:任何人都可以向我展示如何使用本地通知插件在颤振中安排通知的代码。 尝试了 git 存储库中的示例购买它对我不起作用,虽然正常通知正在工作,但我怎样才能将它安排在特定时间,如提醒?
【问题讨论】:
查看我的答案并尝试一下。然后,如果您仍然无法安排通知,请使用您在项目中使用的代码更新您的帖子,并且如果您无法在 android 和 ios 上或仅在一个平台上安排通知。发布您尝试过的最少代码很重要,以便人们可以根据您的代码帮助您。这也使您的问题符合 SO 最佳实践。 【参考方案1】:来自plugin sample code,如果你想安排通知,你必须使用这样的代码:
/// 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 存储库下载完整的示例应用程序,其中所有 设置已完成
【讨论】:
当我们设置较短的时间段(如 120 秒)但当我们将通知设置为 2000 秒(30 分钟)时,它会起作用。然后它不工作。他们用这种方法长时间调度有什么问题吗? flutterlocalnotificationsplugin 声音不工作 ios 请救救我【参考方案2】: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);
您可以定期使用显示flutter_local_notifications
【讨论】:
以上是关于本地通知颤动的主要内容,如果未能解决你的问题,请参考以下文章