使用Workmanager插件的后台任务无法正常运行

问题描述

我试图通过按钮触发一些后台任务,并且发现flutter的workmanager插件非常有气质。它偶尔会起作用,但是之间相差无几。

我正在使用此基本应用进行测试:

import 'package:flutter/material.dart';
import 'package:workmanager/workmanager.dart';

const task1 = "simpleTask";

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  Workmanager.initialize(
      callbackDispatcher,isInDebugMode: true,); 
  //Workmanager.registerPeriodicTask("1",task1,initialDelay: Duration(seconds: 10),frequency: Duration(minutes: 15));
  //Workmanager.registerOneOffTask("1",initialDelay: Duration(seconds: 5));
  runApp(MaterialApp(
  home: Scaffold(
    body: Container(
      color: Colors.blueAccent[400],child: Center(
        child: RaisedButton(
          child: Text("create notification in five seconds"),onPressed: () {
            Workmanager.registerOneOffTask("1",initialDelay: Duration(seconds: 5));
          },),));}


void callbackDispatcher() {
  Workmanager.executeTask((task,inputData) {
    print("it's doing the task");
    switch (task) {
      case task1:
        print(task1);
        break;
      case Workmanager.iOSBackgroundTask:
        print("iOS background fetch delegate ran");
        break;
    }
    return Future.value(true);
});
}

我试图通过按钮触发后台任务,因为在注释掉这两行之前,它没有像我之前那样工作。我也从来没有做过Workmanager.registerPeriodicTask工作。这可能是因为最初的延迟并没有在结束时启动第一个任务,而是启动了15分钟的计时器直到第一个任务开始,但是由于我必须等待至少15分钟,因此测试起来非常痛苦。

是否缺少命令或缺少的await或其他内容?

编辑: 我刚刚在AndroidStudio的Android模拟器上对其进行了测试,并且所有通知在一次性和定期任务中都可以正常工作,因此我认为这是一件好事与手机有关。不过,我不太确定该怎么做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...