Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 由workManager发出的颤振计划本地通知_Flutter_Dart_Notifications - Fatal编程技术网

Flutter 由workManager发出的颤振计划本地通知

Flutter 由workManager发出的颤振计划本地通知,flutter,dart,notifications,Flutter,Dart,Notifications,是否可以从后台dart代码安排通知 例如,使用work\u managerplugin fromexecuteTask方法,就好像我注册了每小时运行的服务,并根据当前位置安排了今天的通知一样 我试过了,但运气不好 有人能帮我吗?您可以重复使用下面的代码片段来尝试: 导入'dart:async'; 导入“package:flatter_local_notifications/flatter_local_notifications.dart”; var持续时间=持续时间(小时:1); var sch

是否可以从后台dart代码安排通知

例如,使用
work\u manager
plugin from
executeTask
方法,就好像我注册了每小时运行的服务,并根据当前位置安排了今天的通知一样

我试过了,但运气不好

有人能帮我吗?

您可以重复使用下面的代码片段来尝试:

导入'dart:async';
导入“package:flatter_local_notifications/flatter_local_notifications.dart”;
var持续时间=持续时间(小时:1);
var scheduledNotificationDateTime=DateTime.now().add(持续时间);
var androidPlatformChannelSpecifics=AndroidNotificationDetails(
'您的其他频道id',
'您的其他频道名称',
“您的其他频道描述”,
);
var iOSPlatformChannelSpecifics=ioNotificationDetails();
NotificationDetails平台ChannelSpecifics=NotificationDetails(
AndroidPlatformChannels详细信息,
iOSPlatformChannelSpecifics,
);
等待通知日程安排(
0, 
“预定标题”,
"附表团体",,
scheduledNotificationDateTime,
平台通道细节,
);

要使订单计划通知生效,应在下面添加行。解决方案是:在AndroidManifest.xml中的
之后添加以下行:

<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
    </receiver>
    <receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />

是的,可以在工作经理的帮助下安排本地通知。当我在我的小米设备上尝试Flitter本地通知插件时,当应用程序关闭(并从最近的活动中清除)时,通知不会显示。因此,我找到的唯一解决方案是使用Work Manager Flatter插件直接显示()而无需调度

专业人士

  • 工作经理帮助我在应用程序关闭并从最近的应用程序列表中清除后显示通知
  • 即使在设备重新启动后,它也会工作
缺点

  • 通知有时不会出现
  • 无法管理到固定时间的计划。(如果应用程序关闭,android有时不允许执行任务)
触发

FlatButton(
child: Text('set'),
onPressed: () async {
await Workmanager.initialize(callbackDispatcher);
await Workmanager.registerPeriodicTask(
"test_workertask", "test_workertask",
inputData: {"data1": "value1", "data2": "value2"},
frequency: Duration(hours: 1),
initialDelay: Duration(seconds: 10),
existingWorkPolicy: ExistingWorkPolicy.replace);
},
),


这是一个笑话,它将在1小时后安排通知,并且无法从隔离状态运行,如
workManager
plugind您是否找到了问题的解决方案?由于我有完全相同的问题,我必须创建定制的颤振插件,并定期从
work\u manager
运行您的插件代码。您能在github或任何地方共享您的代码吗?esleit是下面bshears答案的延续。我也有同样的问题。“你能帮帮我吗,@J.MARS?”
FlatButton(
child: Text('set'),
onPressed: () async {
await Workmanager.initialize(callbackDispatcher);
await Workmanager.registerPeriodicTask(
"test_workertask", "test_workertask",
inputData: {"data1": "value1", "data2": "value2"},
frequency: Duration(hours: 1),
initialDelay: Duration(seconds: 10),
existingWorkPolicy: ExistingWorkPolicy.replace);
},
),