首页 > TAG信息列表 > android-workmanager

工人类内部调用BroadcastReceiver类

根据我的要求,我想在Worker类内部调用BroadcastReceiver类,任何人都可以提出一些建议. // BroadcastReceiver sample class public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) {

java-WorkManager无法找到所需的零参数构造函数

我正在使用android.arch.work:work-runtime依赖项中的WorkManager 1.0.0-alpha02每隔一分钟查询一次网页(此示例不包含查询代码,因为它无关紧要). 当我像这样使用WorkManager时: WorkManager .getInstance() .enqueue( ne

android-无法在WorkManager的Worker类中注入单例类

我正在研究MVVM体系结构,并且正在使用Dagger2进行数据注入.我面临的问题是,在Activity / Fragments中,@ Inject工作正常,但是在WorkManager的Worker类中,@ Inject在运行时给出空指针异常.我该如何解决? 以下是Worker类代码: public class MySyncManager extends Worker { @Inje

android-WorkManager:为什么使用“ APPEND” ExistingWork策略进行的唯一工作失败,为什么不允许使用相同名称进行更多工作?

假设我们正在开发一个消息传递应用程序,我们希望将消息发送到给定的对话中,这些消息的顺序仅在该对话中很重要,并且如果该应用程序置于后台,我们希望保证消息将被发送. 为此,WorkManager#beginUniqueWork方法似乎是理想的方法,其中uniqueWorkName将是一些对话ID,并且ExistingWorkPo

使用WorkManager入队时出现IllegalAccessException

尝试使WorkManager 1.0稳定版入队时出现IllegalAccessException.这是堆栈跟踪: E/WM-WorkerFactory: Could not instantiate com.pocket.sdk.util.service.BackgroundSync$SyncJob java.lang.IllegalAccessException: java.lang.Class<com.example.BackgroundManager$Backgroun

Android Work Manager:如何每月一次入队

在this question之后,我研究了Android Job Scheduling,如果我想每月进行一次操作,似乎Work Manager是最新的工具.我建立了一个Worker类并在我的活动中使用以下代码片段激活了它: PeriodicWorkRequest myWorkRequest = new PeriodicWorkRequest.Builder(MonthlyWork

Android:要使用哪个后台服务?

我有一个应用程序,用户单击按钮即可执行备份(脱机)和还原(脱机).但是,我不知道哪种后台服务适合使用.在这种情况下,有人可以建议我使用WorkerManager还是Service?解决方法:我建议您使用ForegroundService,因为使用这些服务的目标是长期运行的流程,应该通知用户并与之交互. 考虑当您

android-workstatus观察器始终处于排队状态

我正在尝试观察我的工人,但他们始终处于排队状态,或者有时它正在运行,但从未成功或失败. 是从doWork()返回的workStatus.state还是不同? 这是我的工作者脚本: package com.mockie.daikokuten.sync.workers import androidx.work.Worker class TestWorker:Worker() { override fu

android – 如何为worker类实现Dagger?

由于Worker类是由框架(WorkerManager)创建的,我们如何将@Inject字段用于Worker?解决方法:您必须在模块中使用@Provides注释提供类以进行注入. 首先创建一个包含将提供类的模块的组件. @Component(modules = {Module.class}) public interface Component1{ void inject(SyncWor

用于在后台运行日常任务的Android WorkManager api

即使应用已关闭,我也需要在后台每天调用一个API.我见过有关WorkManager API的信息.对于我的场景,我尝试了PeriodicWorkRequest,但遗憾的是,它不能达到我预期的结果.我做的是我在Application类中使用了这段代码 PeriodicWorkRequest.Builder myWorkBuilder = new

Android WorkManager链接的工作未在alpha04上运行

[UPDATE] 这已经在alpha09中解决了 我有两个被WorkManager alpha04 beginWith和api链接起来的作品. fun updateData() { createWorkRequests() runDataDownloadWork() } private fun createWorkRequests() { dwElementsWork = OneTimeWorkRequestBuilder<DWElementsWor

如何在android中的工作管理器中传递POJO类?

我们如何通过工作管理器的setData方法在工作管理器中传递Serializable对象?有没有办法通过传递对象来处理工作管理器? WorkManager是一个用于排队工作的库,保证在满足约束条件后执行. WorkManager允许观察工作状态和创建复杂工作链的能力. Map<String, Object> map = new HashMap<>

Android系统.应用程序关闭时WorkManager是否正在运行?

我想安排每晚数据库更新.所以我使用新的Android WorkManager.我的理解是,一旦安排它将始终独立于应用程序的生命周期在后台运行. 是对的吗?我的第一次测试显示Work只在应用程序运行时执行. val locationWork = PeriodicWorkRequest.Builder(UpdateDatabaseWorker::class.java, 24,

android – 我可以一直使用WorkManager而不是coroutines吗?

我想知道为什么当有一个很好的解决方案作为WorkManager时,我应该使用rx或协同程序.但对于几乎所有的教程,他们都使用协同程序,因此WorkManager可能有缺点吗?解决方法:两者的范围是不同的. WorkManager将安排延迟(以后的任何时间)或立即安排. 任务异步. As documentation says The

android – 显示运行WorkManager工作程序的详细进度

我想用新的JetPack WorkManager(链接到codelabs)组件(在应用程序的沙箱分支中)替换现有数据同步系统的作业调度方面.我现有的系统运行良好,但WorkManager中的一些新功能会派上用场(例如链接). 我当前的系统使用共享的LiveData将正在进行的作业的进度传达给观察它的任何UI元素(在我

android – 无法在WorkManager中设置自定义工作服务器

我使用此代码设置我自己的工厂工厂: val daggerWorkerFactory = DaggerWorkerFactory(toInjectInWorker) val configuration = Configuration.Builder() .setWorkerFactory(daggerWorkerFactory) .build() WorkManager.initialize(context, configuration) 执行

android – WorkManager – 如何按顺序执行作业

我有一个服务侦听传入的FCM通知.收到此类通知后,我使用WorkManager运行作业. 当同时收到多个通知时,如何确保当时只执行一个作业?作业应按顺序执行.在这种情况下,我想发送短信,这些不能同时发送. (请注意,在发送短信之前和之后,我会在此作业中执行其他类似的http请求,这就是为什么我

android – 为什么工作经理的工作人员仍然处于ENQUEUED状态?

我正在使用NetworkType.CONNECTED约束创建OneTimeWorkRequest,但即使设备连接到互联网,请求仍处于ENQUEUED状态 Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build(); OneTimeWorkRequest request = new OneTimeWorkReq

Android的WorkManager的同时作业数/最大值

WorkManager是否对同时运行的作业数量设置上限? 很简单的例子: >单击按钮,创建10个一次性作业 >将它们全部排队>一次运行3个作业,而不是按预期运行10个作业 class MainActivity: AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCr

android – 如何创建WorkerParameters

工人的工人()是@Deprecated,所以需要使用 public Worker(@NonNull Context context, @NonNull WorkerParameters workerParams) { super(context, workerParams); } 但是WorkerParameters的构造函数是@hide. 那么,如何创建WorkerParameters实例呢? 这个库是Android后