I was implementing Unique Periodic Work Manager with an Interval of 15 Mins to send some data to Firebase Database but seems to be not working on Xiaomi phones.
It is working on an emulator but not working on Chinese custom ROM phones.
Attaching below my code to check if I am doing anything wrong
Inside Activity:
Constraints constraints = new Constraints.Builder()
.setRequiresCharging(false)
.build();
final PeriodicWorkRequest periodicWorkRequest1 = new PeriodicWorkRequest.Builder(UploadWorker.class, 15, TimeUnit.MINUTES).setConstraints(constraints).build();
WorkManager workManager = WorkManager.getInstance(this);
workManager.enqueueUniquePeriodicWork("SYNC_DATA", ExistingPeriodicWorkPolicy.KEEP, periodicWorkRequest1);
Inside UploadWorker.class
@Override
public Result doWork() {
Log.i(TAG, "doWork: inside dowork()");
String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
FirebaseDatabase.getInstance().getReference().child("Redmi").child(currentDateTimeString).setValue(myDetails);
// Indicate whether the work finished successfully with the Result
return Result.success();
}
I also tried the autostart permission but still not working. Please help me. Please!!!