public static boolean doesWorkExist(Context context) { WorkManager instance = WorkManager.getInstance(context); ListenableFuture> statuses = instance.getWorkInfosForUniqueWork("jobTag"); try { List workInfoList = statuses.get(); for (WorkInfo workInfo : workInfoList) { WorkInfo.State state = workInfo.getState(); if (state == WorkInfo.State.RUNNING || state == WorkInfo.State.ENQUEUED) { Log.i(TAG, "Work Exists"); if (state == WorkInfo.State.RUNNING) { Log.i(TAG, "Work Running"); } else { Log.i(TAG, "Work Enqueued"); } return true; } } } catch (ExecutionException | InterruptedException e) { e.printStackTrace(); } Log.i(TAG, "Work does not Exist"); return false; }