doWork() method is not getting called from Work Manager












3














I am trying to make server call using WorkManager. So, I wrote the below Worker class:






class ServerCallWorker extends Worker {
public ServerCallWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
Log.d("Testing", "ServerCallWorker constructor method" );
}

@NonNull
@Override
public Worker.Result doWork() {
Log.d("Testing", "doWork() method" );
return Worker.Result.SUCCESS;
}
}





This worker class I am calling from my onCreate() method of my activity. The code snippet is here:






 private void getLocationUpdate() {
Log.d("Testing", "inside Location Update");
WorkManager workManager = WorkManager.getInstance();
Log.d("Testing", "inside Location Update 222");
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType
.CONNECTED).build();
// PeriodicWorkRequest recurringWork = new PeriodicWorkRequest.Builder(FilterWorker.class, 15,
// TimeUnit.MINUTES).build();
OneTimeWorkRequest wrkReq = new OneTimeWorkRequest.Builder(ServerCallWorker.class).setConstraints(constraints)
.build();
Log.d("Testing", "inside Location Update 333");
workManager.enqueue(wrkReq);
Log.d("Testing", "inside Location Update 444");
}





Now, getLocationUpdate() is getting called and it is printing the logs. But doWork() method is not getting called as no logs are showing. Same for ServerCallWorker() method.



Can someone please point out, where I am making wrong.



Thanks,
Arindam.










share|improve this question






















  • Make sure the device is connected to the internet when getLocationUpdate() is called. Otherwise ServerCallWorker() will be scheduled to be called on device internet connection.
    – M.R.Javid
    Nov 12 '18 at 20:29










  • I am connected with internet. If I remove the Network related constraint, still it is not working. doWorK() is not getting called.
    – Arindam Mukherjee
    Nov 13 '18 at 11:35










  • @ArindamMukherjee have you solved this problem? I am also facing the same problem.
    – Vivek Pratap Singh
    Nov 28 '18 at 5:00










  • I am facing the same issue, Did you find a solution?
    – Nadeem Shukoor
    Dec 12 '18 at 8:57
















3














I am trying to make server call using WorkManager. So, I wrote the below Worker class:






class ServerCallWorker extends Worker {
public ServerCallWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
Log.d("Testing", "ServerCallWorker constructor method" );
}

@NonNull
@Override
public Worker.Result doWork() {
Log.d("Testing", "doWork() method" );
return Worker.Result.SUCCESS;
}
}





This worker class I am calling from my onCreate() method of my activity. The code snippet is here:






 private void getLocationUpdate() {
Log.d("Testing", "inside Location Update");
WorkManager workManager = WorkManager.getInstance();
Log.d("Testing", "inside Location Update 222");
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType
.CONNECTED).build();
// PeriodicWorkRequest recurringWork = new PeriodicWorkRequest.Builder(FilterWorker.class, 15,
// TimeUnit.MINUTES).build();
OneTimeWorkRequest wrkReq = new OneTimeWorkRequest.Builder(ServerCallWorker.class).setConstraints(constraints)
.build();
Log.d("Testing", "inside Location Update 333");
workManager.enqueue(wrkReq);
Log.d("Testing", "inside Location Update 444");
}





Now, getLocationUpdate() is getting called and it is printing the logs. But doWork() method is not getting called as no logs are showing. Same for ServerCallWorker() method.



Can someone please point out, where I am making wrong.



Thanks,
Arindam.










share|improve this question






















  • Make sure the device is connected to the internet when getLocationUpdate() is called. Otherwise ServerCallWorker() will be scheduled to be called on device internet connection.
    – M.R.Javid
    Nov 12 '18 at 20:29










  • I am connected with internet. If I remove the Network related constraint, still it is not working. doWorK() is not getting called.
    – Arindam Mukherjee
    Nov 13 '18 at 11:35










  • @ArindamMukherjee have you solved this problem? I am also facing the same problem.
    – Vivek Pratap Singh
    Nov 28 '18 at 5:00










  • I am facing the same issue, Did you find a solution?
    – Nadeem Shukoor
    Dec 12 '18 at 8:57














3












3








3







I am trying to make server call using WorkManager. So, I wrote the below Worker class:






class ServerCallWorker extends Worker {
public ServerCallWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
Log.d("Testing", "ServerCallWorker constructor method" );
}

@NonNull
@Override
public Worker.Result doWork() {
Log.d("Testing", "doWork() method" );
return Worker.Result.SUCCESS;
}
}





This worker class I am calling from my onCreate() method of my activity. The code snippet is here:






 private void getLocationUpdate() {
Log.d("Testing", "inside Location Update");
WorkManager workManager = WorkManager.getInstance();
Log.d("Testing", "inside Location Update 222");
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType
.CONNECTED).build();
// PeriodicWorkRequest recurringWork = new PeriodicWorkRequest.Builder(FilterWorker.class, 15,
// TimeUnit.MINUTES).build();
OneTimeWorkRequest wrkReq = new OneTimeWorkRequest.Builder(ServerCallWorker.class).setConstraints(constraints)
.build();
Log.d("Testing", "inside Location Update 333");
workManager.enqueue(wrkReq);
Log.d("Testing", "inside Location Update 444");
}





Now, getLocationUpdate() is getting called and it is printing the logs. But doWork() method is not getting called as no logs are showing. Same for ServerCallWorker() method.



Can someone please point out, where I am making wrong.



Thanks,
Arindam.










share|improve this question













I am trying to make server call using WorkManager. So, I wrote the below Worker class:






class ServerCallWorker extends Worker {
public ServerCallWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
Log.d("Testing", "ServerCallWorker constructor method" );
}

@NonNull
@Override
public Worker.Result doWork() {
Log.d("Testing", "doWork() method" );
return Worker.Result.SUCCESS;
}
}





This worker class I am calling from my onCreate() method of my activity. The code snippet is here:






 private void getLocationUpdate() {
Log.d("Testing", "inside Location Update");
WorkManager workManager = WorkManager.getInstance();
Log.d("Testing", "inside Location Update 222");
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType
.CONNECTED).build();
// PeriodicWorkRequest recurringWork = new PeriodicWorkRequest.Builder(FilterWorker.class, 15,
// TimeUnit.MINUTES).build();
OneTimeWorkRequest wrkReq = new OneTimeWorkRequest.Builder(ServerCallWorker.class).setConstraints(constraints)
.build();
Log.d("Testing", "inside Location Update 333");
workManager.enqueue(wrkReq);
Log.d("Testing", "inside Location Update 444");
}





Now, getLocationUpdate() is getting called and it is printing the logs. But doWork() method is not getting called as no logs are showing. Same for ServerCallWorker() method.



Can someone please point out, where I am making wrong.



Thanks,
Arindam.






class ServerCallWorker extends Worker {
public ServerCallWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
Log.d("Testing", "ServerCallWorker constructor method" );
}

@NonNull
@Override
public Worker.Result doWork() {
Log.d("Testing", "doWork() method" );
return Worker.Result.SUCCESS;
}
}





class ServerCallWorker extends Worker {
public ServerCallWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
Log.d("Testing", "ServerCallWorker constructor method" );
}

@NonNull
@Override
public Worker.Result doWork() {
Log.d("Testing", "doWork() method" );
return Worker.Result.SUCCESS;
}
}





 private void getLocationUpdate() {
Log.d("Testing", "inside Location Update");
WorkManager workManager = WorkManager.getInstance();
Log.d("Testing", "inside Location Update 222");
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType
.CONNECTED).build();
// PeriodicWorkRequest recurringWork = new PeriodicWorkRequest.Builder(FilterWorker.class, 15,
// TimeUnit.MINUTES).build();
OneTimeWorkRequest wrkReq = new OneTimeWorkRequest.Builder(ServerCallWorker.class).setConstraints(constraints)
.build();
Log.d("Testing", "inside Location Update 333");
workManager.enqueue(wrkReq);
Log.d("Testing", "inside Location Update 444");
}





 private void getLocationUpdate() {
Log.d("Testing", "inside Location Update");
WorkManager workManager = WorkManager.getInstance();
Log.d("Testing", "inside Location Update 222");
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType
.CONNECTED).build();
// PeriodicWorkRequest recurringWork = new PeriodicWorkRequest.Builder(FilterWorker.class, 15,
// TimeUnit.MINUTES).build();
OneTimeWorkRequest wrkReq = new OneTimeWorkRequest.Builder(ServerCallWorker.class).setConstraints(constraints)
.build();
Log.d("Testing", "inside Location Update 333");
workManager.enqueue(wrkReq);
Log.d("Testing", "inside Location Update 444");
}






android service android-workmanager






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 12 '18 at 19:25









Arindam Mukherjee

96563472




96563472












  • Make sure the device is connected to the internet when getLocationUpdate() is called. Otherwise ServerCallWorker() will be scheduled to be called on device internet connection.
    – M.R.Javid
    Nov 12 '18 at 20:29










  • I am connected with internet. If I remove the Network related constraint, still it is not working. doWorK() is not getting called.
    – Arindam Mukherjee
    Nov 13 '18 at 11:35










  • @ArindamMukherjee have you solved this problem? I am also facing the same problem.
    – Vivek Pratap Singh
    Nov 28 '18 at 5:00










  • I am facing the same issue, Did you find a solution?
    – Nadeem Shukoor
    Dec 12 '18 at 8:57


















  • Make sure the device is connected to the internet when getLocationUpdate() is called. Otherwise ServerCallWorker() will be scheduled to be called on device internet connection.
    – M.R.Javid
    Nov 12 '18 at 20:29










  • I am connected with internet. If I remove the Network related constraint, still it is not working. doWorK() is not getting called.
    – Arindam Mukherjee
    Nov 13 '18 at 11:35










  • @ArindamMukherjee have you solved this problem? I am also facing the same problem.
    – Vivek Pratap Singh
    Nov 28 '18 at 5:00










  • I am facing the same issue, Did you find a solution?
    – Nadeem Shukoor
    Dec 12 '18 at 8:57
















Make sure the device is connected to the internet when getLocationUpdate() is called. Otherwise ServerCallWorker() will be scheduled to be called on device internet connection.
– M.R.Javid
Nov 12 '18 at 20:29




Make sure the device is connected to the internet when getLocationUpdate() is called. Otherwise ServerCallWorker() will be scheduled to be called on device internet connection.
– M.R.Javid
Nov 12 '18 at 20:29












I am connected with internet. If I remove the Network related constraint, still it is not working. doWorK() is not getting called.
– Arindam Mukherjee
Nov 13 '18 at 11:35




I am connected with internet. If I remove the Network related constraint, still it is not working. doWorK() is not getting called.
– Arindam Mukherjee
Nov 13 '18 at 11:35












@ArindamMukherjee have you solved this problem? I am also facing the same problem.
– Vivek Pratap Singh
Nov 28 '18 at 5:00




@ArindamMukherjee have you solved this problem? I am also facing the same problem.
– Vivek Pratap Singh
Nov 28 '18 at 5:00












I am facing the same issue, Did you find a solution?
– Nadeem Shukoor
Dec 12 '18 at 8:57




I am facing the same issue, Did you find a solution?
– Nadeem Shukoor
Dec 12 '18 at 8:57












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268806%2fdowork-method-is-not-getting-called-from-work-manager%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268806%2fdowork-method-is-not-getting-called-from-work-manager%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







這個網誌中的熱門文章

Xamarin.form Move up view when keyboard appear

Post-Redirect-Get with Spring WebFlux and Thymeleaf

Anylogic : not able to use stopDelay()