Я создал двух рабочих через WorkManager .Он устанавливается на каждые 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();
}
}
Запуск работника при успешном входе в систему.
PeriodicWorkRequest periodicWork = new PeriodicWorkRequest.Builder(MyWorker.class, 30, TimeUnit.MINUTES)
.addTag("Location")
.build();
WorkManager.getInstance().enqueueUniquePeriodicWork("Location", ExistingPeriodicWorkPolicy.REPLACE, periodicWork);
Проблема:
Когда я запускаю свое приложение, оно снова выполняется,Это происходит каждый раз, когда я устанавливаю (запускаю) свое приложение.
Есть ли какое-то решение для этого?