Мне нужна переменная в классе IntervalWork, сохраняющая свои данные в течение различных вызовов или интервалов. Создание переменной stati c или global в классе не работает. Как?
IntervalWork («keep» всегда теряет свое значение):
public class IntervalWork{
static int keep;
public result doWork(){
keep++;
}
}
MainActivity:
Constraints IntervalWorkerCS = new Constraints.Builder()
.setRequiresBatteryNotLow(true)
.build();
//W/WM-WorkSpec: Interval duration lesser than minimum allowed value; Changed to 900000(15 minutes)
PeriodicWorkRequest periodicWork = new PeriodicWorkRequest.Builder(IntervalWork.class, 15, TimeUnit.MINUTES)
.setConstraints(IntervalWorkerCS)
.setInitialDelay(delay,TimeUnit.MINUTES)
.addTag("MyID")
.build();
WorkManager.getInstance(this).cancelAllWork();
WorkManager.getInstance(this).enqueueUniquePeriodicWork("MyID", ExistingPeriodicWorkPolicy.KEEP, periodicWork);