it-swarm.dev

颤动:即使应用程序已关闭,也会推送通知

我已经构建了一个带有颤动的应用程序,就像提醒一样。
即使应用关闭,如何向用户显示通知?

5
SlimenTN

对于提醒,我会推荐 Flutter Local Notifications Plugin 。它有一个强大的调度api。从本地通知的文件:

应在何时显示通知时进行调度 - 定期显示通知(基于时间间隔) - 安排在指定时间每天显示的通知 - 安排在指定日期和时间每周显示的通知 - 能够在用户点击时进行处理当应用程序是前台,背景或 终止时的通知

对于推送通知,您可以使用 Firebase云消息传递一个信号 插件,或者您可以通过 platform-channels本地实现

编辑:即使应用程序终止,您也可以根据特定条件触发通知。这可以通过在后台运行Dart代码来实现。引用官方常见问题解答:

我可以在Flutter应用程序的后台运行Dart代码吗?是的,您可以在iOS和Android上的后台进程中运行Dart代码。有关详细信息,请参阅介质文章 使用Flutter插件和Geofencing在后台执行Dart。

4
a2en

您可以在颤动中使用预定通知。

 var scheduledNotificationDateTime =
        new DateTime.now().add(new Duration(seconds: 5));
  var androidPlatformChannelSpecifics =
     new AndroidNotificationDetails('your other channel id',
    'your other channel name', 'your other channel description');
  var iOSPlatformChannelSpecifics =
   new IOSNotificationDetails();
   NotificationDetails platformChannelSpecifics = new 
  NotificationDetails(
   androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
  await flutterLocalNotificationsPlugin.schedule(
 0,
 'scheduled title',
 'scheduled body',
 scheduledNotificationDateTime,
 platformChannelSpecifics);
0
PrakashKing

我也遇到过这个问题,所以这些都是我的学问

在我的案例中:我能够在App-Resume或App-background状态下获得通知,但在App-Close状态下,我没有收到通知。

在这种情况下,我们的通知机构是:

{notification: {body: null, title: null}, data: {body: hello, title: world}}

要在App-Closed状态下接收通知,我们将通知更改为

{notification: {body: abc, title: abc}, data: {url: string, body: string, title: string}}
0
Tushar Pandey