
我正在使用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我尝试了以下构造函数无济于事:
>没有构造函数
>公开
>私人
>具有非空主体且唯一声明为super()的构造函数;
解决方法:
从MessageWorker中删除以下构造函数,并将该类公开. :
public MessageWorker() {}还要确保类在单独的文件中.
总结以上是内存溢出为你收集整理的java-WorkManager无法找到所需的零参数构造函数全部内容,希望文章能够帮你解决java-WorkManager无法找到所需的零参数构造函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)