Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
public class BackgroundJobService extends JobIntentService {
public static final int JOB_ID = 1000;
public static volatile boolean shouldContinue = false;
private static final Object lock = new Object();
private static final long BACKGROUND_TIMEOUT_WAIT_MS = 5000;
final Handler mHandler = new Handler();
public static void enqueueWork(Context context) {
Intent bgJobService = new Intent(context, BackgroundJobService.class);
context, BackgroundJobService.class, BackgroundJobService.JOB_ID, bgJobService);
public static void stopWork() {
synchronized (lock) {
shouldContinue = false;
protected void onHandleWork(@NonNull Intent intent) {
shouldContinue = true;
try {
synchronized (lock) {
if (shouldContinue) {
// Do the background work here
} catch (InterruptedException ex) {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment