gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:03 25 4
gpt4 key购买 nike

我正在使用在 android.arch.work:work-runtime 依赖项中找到的 WorkManager 1.0.0-alpha02 来查询一个每分钟网页一次(查询代码被排除在这个例子中,因为它不相关)。

当我像这样使用 WorkManager 时:

WorkManager
.getInstance()
.enqueue(
new PeriodicWorkRequest.Builder(
MessageWorker.class,
1,
TimeUnit.MINUTES
)
.setConstraints(
new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
)
.build()
);

private class MessageWorker extends Worker {
public MessageWorker() {
}

@NonNull
@Override
public WorkerResult doWork() {
// Do stuff
return WorkerResult.SUCCESS;
}
}

它给出了这个错误信息:

05-31 17:50:05.645 11749-12168/com.neelkamath.webview E/WorkerWrapper: Trouble instantiating com.neelkamath.webview.MainActivity$MessageWorker
java.lang.InstantiationException: java.lang.Class<com.neelkamath.webview.MainActivity$MessageWorker> has no zero argument constructor
at java.lang.Class.newInstance(Native Method)
at androidx.work.impl.WorkerWrapper.workerFromClassName(WorkerWrapper.java:405)
at androidx.work.impl.WorkerWrapper.workerFromWorkSpec(WorkerWrapper.java:377)
at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:132)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
05-31 17:50:05.645 11749-12168/com.neelkamath.webview E/WorkerWrapper: Could for create Worker com.neelkamath.webview.MainActivity$MessageWorker

我试过以下构造函数都无济于事:

  • 没有构造函数
  • 公开
  • 私有(private)
  • 具有非空主体的构造函数,唯一的语句为 super();

最佳答案

从 MessageWorker 中删除以下构造函数并使类public。 :

public MessageWorker() {
}

还要确保类在单独的文件中。

关于java - WorkManager 找不到所需的零参数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50624478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com