我运行的是一个定期工作经理,它无法在安卓8、9&10.但在旧版本中效果很好。
Work Manager在诺基亚6和One plus 7T以及Moto g5 plus上进行了测试。
使用的工作管理器版本
implementation "androidx.work:work-runtime:2.2.0"
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.example.myApp"
minSdkVersion 21
targetSdkVersion 29
前进规则
-keep class*扩展了androidx。工作工人
-keep class*扩展了androidx。工作输入合并
-keep public class*扩展了androidx。工作监工{
公共的(…);}
-继续上课androidx。工作工人参数
我也尝试了一个更新的版本,但也不能正常工作。
public void setWorker() {
Constraints constraints = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
PeriodicWorkRequest myWork = new PeriodicWorkRequest.
Builder(MyWorker.class,
15, TimeUnit.MINUTES, 5, TimeUnit.MINUTES)
.addTag("app_periodic")
.setConstraints(constraints).build();
try {
WorkManager.getInstance(MyApplication.this)
.enqueueUniquePeriodicWork("app_worker_notify",
ExistingPeriodicWorkPolicy.KEEP, myWork);
} catch (IllegalStateException e) {
e.printStackTrace();
}
}