Android Job Scheduler - Schedule Job to execute immediately and exactly once -
i trying use android job scheduler schedule job execute , once.
jobscheduler jobscheduler = (jobscheduler) context.getsystemservice(context.job_scheduler_service); jobscheduler.cancel(1); persistablebundle bundle = new persistablebundle(); bundle.putint(jobflags.key_periodic_sync_job, jobflags.job_type_initial_fetch); jobscheduler.schedule(new jobinfo.builder(1, new componentname(context, syncjoblollipop.class)) .setrequirednetworktype(jobinfo.network_type_any) .setextras(bundle) .setminimumlatency(10) .setoverridedeadline(24 * 3600 * 1000) .build()); but running 3 4 times. wrong here ?
here job class itself:
@requiresapi(api = build.version_codes.lollipop) public class syncjoblollipop extends jobservice implements jobfinishedlistener { @inject syncjobbackend jobbackend; private jobparameters jobparameters; @override public boolean onstartjob(jobparameters jobparameters) { ((myapplication)getapplication()).getappcomponent().inject(this); this.jobparameters = jobparameters; persistablebundle bundle = jobparameters.getextras(); int type = bundle.getint(jobflags.key_periodic_sync_job); jobbackend.onstartjob(type, this); return true; } @override public boolean onstopjob(jobparameters jobparameters) { jobbackend.onstopjob(); return false; } @override public void onjobfinished(boolean success) { jobfinished(jobparameters, !success); } } p.s.: have checked callig jobfinished false value each , every time.
Comments
Post a Comment