问题标签 [workmanagers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何为 Worker 排队任务(WorkerManager API)?
我有一连串的请求
这整个任务(假设)需要 1 分钟......问题是如果我在一分钟内调用这个方法几次(例如 4 次),那么WorkManager
真的会异步启动这个任务 4 次。
我需要所有这些任务都将同步执行(如队列)。
怎么做?
android - PeriodicWorkRequest 无论如何都不起作用
PeriodicWorkRequest 根本不起作用。如您所见,我已将重复间隔设置为至少 15 分钟。它被排队,然后显示正在运行,但就是这样。什么也没发生,我什至等了 30 分钟!这只是行不通。但是,OneTimeWorkRequest 工作得非常好,没有任何问题,但在 PeriodicWorkRequest 方面却没有运气。请看下面我的代码:
我也尝试过设置弹性间隔:
它只是行不通!我试过同时使用 2.3.0-alpha01 和 2.3.0-beta01 版本。没运气。我正在使用 Google Pixel 3a,targetSdkVersion 是 29。有人可以帮忙吗?谢谢你。
flutter - 类型不匹配:推断类型是 PluginRegistry?但 FlutterEngine 是意料之中的
我想与 Flutter Workmanager 合作,我在 .kt 中进行了引用的配置,如下所示:
我已经android:name
改为
但它给了我这个错误:
在调试模式下在 G3212 上启动 lib\main.dart... e:E:\mybackprocess\android\app\src\main\kotlin\com\example\mybackprocess\MainActivity.kt: (15, 48): 类型不匹配:推断类型是 PluginRegistry?但 FlutterEngine 是意料之中的
FAILURE:构建失败并出现异常。* 出了什么问题:任务 ':app:compileDebugKotlin' 执行失败。编译错误。有关详细信息,请参阅日志
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。* 在https://help.gradle.org获得更多帮助
在 55 秒内构建失败 Gradle 任务 assembleDebug 失败,退出代码为 1 退出(sigterm)
有人可以帮帮我吗?
flutter - 如何在 Flutter 中使用工作管理器运行后台进程?
我想使用 Flutter Workmanager,我在我的 .kt 中做了引用的配置
我已将 android:name 更改为
但它给了我这个错误:
android - EditWorkManager 方法 getWorkInfoByIdLiveData 未提供 WorkInfo
我正在尝试使用 WorkManager 实例中存在的 getWorkInfoByLiveData 方法获取我的 WorkerInfo。
WorkInfo 始终为空。另外,我正在从主线程调用此方法。
我如何检查此方法的场景。当用户发送网络请求时,我尝试将我的工作人员排队,如果没有连接互联网,我只需向 WorkManager 注册一个工作。一段时间后,如果我尝试使用UUID获取 WorkerInfo ,它总是会给我空值。
注意:调用getWorkInfoByLiveData时,此时不会执行 Worker。
难道我不希望 WorkManager 给我带有ENQUEUED状态的 WorkInfo。
编辑1: 所以,另一种情况是这样的,我正在使用的应用程序就像一个社交应用程序。现在注册第一个工作人员后,假设用户不想看到特定用户的帖子,所以我需要在这里注册我的第二个工作人员,因为此时用户互联网不可用。现在我需要做的是取消以前注册的工作人员,然后创建一个工作人员链,不显示用户的帖子到beginWith,然后获取所有帖子。现在为了取消工作人员,我检查之前的工作人员是否仍处于排队状态,然后取消它并创建一个新的链或工作人员。
这是代码。
workInfo实例始终为空。
android - Android WorkManager 没有启动工作人员
我想在应用程序启动时从服务器下载某些文件。所以我尝试使用从我的自定义 Application 类中排队的 Work Manager。但是 Worker 类没有被触发并且状态只是 ENQUEUED 并且不会进入 RUNNING .以下是我的代码:
应用类:
MyWorker 类
构建.gradle:
我尝试过的事情:
我尝试添加一个间隔并删除约束,但也没有触发 MyWorker。
我看过很多 SOF 帖子,如下所示,但对我没有帮助:
function - Flutter:尝试使用 location 和 workManager 插件在后台访问位置数据
简而言之: 尝试使用 location 和 workManager 插件在后台访问用户的位置数据。目前使用下面提到的代码,如果应用程序打开,我可以访问位置信息,因为 callbackDispatcher 是顶级函数,我无法调用位置插件。位置插件在类内完成调用时起作用。我正在尝试一种从 callbackDispatcher 访问 _getlocation() 的方法,我得到了 PlatformException(NO_ACTIVITY)。
我尝试过的事情:在这里,这里和这里 发现很少有其他人面临类似问题 厌倦了所有这些步骤,没有运气。
试图从 callbackDispatcher() 访问 _getlocation();非常感谢您对此的任何帮助。
android - 如何在 Android Jetpack Workmanger 中输入和输出 A Object 数据?
在 Android Jetpack WorkManger 中,在 Worker 中定义一个输出数据:
有putLong, putString, putBoolean
,但是没有定义一个函数来放置一个Object
.
如何a Entity Object
在 Worker 中输出。
android - 安卓工作管理器
我无法弄清楚如何使用 Android 的 Workmanager。本质上,我想发出一个带有时间延迟的 OneTime 请求,确定成功,然后做一些事情。工人阶级什么都不做。
我期待的是延迟后返回的成功代码。也就是说,我的 Workmanager 代码的唯一目的是提供延迟。
我知道还有许多其他方法可以影响延迟,但我的理解是,Android 比 AlarmManager 更好地“保护” Workmanager Workers。
不幸的是,我做不到。
这是我所做的
- 扩展我的活动以包括 LifecycleOwner
添加了所需的getLifeCycle方法,如下
/li>这是工人阶级
/li>这是我的操作代码
/li>
我尝试了许多变体,但都没有成功。上面的代码导致堆栈溢出崩溃。帮助!
android - 在 api 27、28、29 中保护应用程序时,工作管理器不运行
我有一个每 15 分钟运行一次的定期任务。
保护应用程序时。如果应用程序从后台被杀死,工作管理器将无法工作。
测试设备:一加7T、诺基亚5+、谷歌pixel 2 Emulator
只有当应用程序处于前台或后台时,工作管理器才会被执行。
禁用 proguard 工作管理器在所有 3 个条件下工作
该应用程序在前台
后台应用程序
该应用程序从后台被杀死
根据我在https://issuetracker.google.com/issues/160492142#上提出的问题
proguard 文件中可能有问题。
我已经尝试了所有版本。但同样的问题也存在。它在 Api 级别 27、28、29 中不起作用。
工作管理器在所有旧 API 级别中都能正常工作
并不意味着它仅在app 被杀死时才起作用。
当应用程序在前台和应用程序在后台时,它可以工作。
工作管理器已在应用程序类中手动初始化
示例代码
https://github.com/parmarravi/WorkManagerSample
自 2020 年 11 月 7 日起更新
关于这个问题的详细研究。