Skip to content

Instantly share code, notes, and snippets.

@zerowebcorp
Created July 26, 2023 21:52
Show Gist options
  • Save zerowebcorp/3dc48107529cdef83be1c02e3f96ef35 to your computer and use it in GitHub Desktop.
Save zerowebcorp/3dc48107529cdef83be1c02e3f96ef35 to your computer and use it in GitHub Desktop.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermissions();
scheduleWork();
}
private void scheduleWork() {
// Set constraints for the work (optional)
Constraints constraints = new Constraints.Builder()
.setRequiresCharging(false) // Not required to be charging
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
OneTimeWorkRequest workRequest = new OneTimeWorkRequest.Builder(MyWorker.class)
.setConstraints(constraints).addTag(TAG_WORKER)
.build();
WorkManager.getInstance(this).enqueueUniqueWork(TAG_WORKER, ExistingWorkPolicy.REPLACE,
workRequest);
}
public class MyWorker extends Worker {
private Handler handler = new Handler(Looper.getMainLooper());
public MyWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
}
@NonNull
@Override
public Result doWork() {
handler.postDelayed(runnable, 0);
return Result.success();
}
private Runnable runnable = new Runnable() {
private RequestQueue requestQueue;
@Override
public void run() {
Log.d(TAG, "Checking for queue");
handler.postDelayed(runnable, 5000);
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment