You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中Workmanager无isScheduledByUniqueName方法报错求助

解决Workmanager中isScheduledByUniqueName未定义的错误
  • 错误原因:isScheduledByUniqueName并非workmanager库提供的官方方法,当前版本的库中不存在该方法定义。
  • 正确替代方案:使用库内置的getWorkInfosByUniqueName方法,通过返回的WorkInfo列表判断任务是否处于有效调度状态。

修改后的代码示例:

child: Text("isscheduled (Android)"),
onPressed: Platform.isAndroid
    ? () async {
        final workInfos =
            await Workmanager().getWorkInfosByUniqueName(
          simplePeriodicTask,
        );
        // 通过WorkInfo的状态判断任务是否在调度中
        final isScheduled = workInfos != null && workInfos.isNotEmpty && 
            workInfos.any((info) => info.state == WorkInfo.State.enqueued || 
                info.state == WorkInfo.State.running);
        print('isscheduled = $isScheduled');
      }
    : null),
SizedBox(height: 8),
  • 补充说明:getWorkInfosByUniqueName会返回对应唯一名称的所有WorkInfo实例,可通过state属性判断任务当前状态:
    • WorkInfo.State.enqueued:任务已入队等待执行
    • WorkInfo.State.running:任务正在执行
    • WorkInfo.State.succeeded:任务执行完成
    • WorkInfo.State.failed:任务执行失败
    • WorkInfo.State.cancelled:任务已取消

内容的提问来源于stack exchange,提问作者Mahendra Telure

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:03:09