我通过WorkManager创建了两个 Worker 。在我成功登录后,它每 30 分钟结算一次。
登录后,它成功启动并按预期工作。
MyWorker.java
public class MyWorker extends Worker {
private Context mContext;
public MyWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
mContext = context;
}
@NonNull
@Override
public Result doWork() {
Log.d(TAG, "doWork: Done");
return Result.success();
}
}
登录成功时启动worker。
PeriodicWorkRequest periodicWork = new PeriodicWorkRequest.Builder(MyWorker.class, 30, TimeUnit.MINUTES)
.addTag("Location")
.build();
WorkManager.getInstance().enqueueUniquePeriodicWork("Location", ExistingPeriodicWorkPolicy.REPLACE, periodicWork);
问题:
当我运行我的应用程序时,它会再次执行。每次我安装(运行)我的应用程序时都会发生这种情况。
有什么解决办法吗?