public final void jobFinished(JobParameters params, boolean needsReschedule) {
    """
	Callback to inform the JobManager you've finished executing. This can be called from any
	thread, as it will ultimately be run on your application's main thread. When the system
	receives this message it will release the wakelock being held.
	<p>
	You can specify post-execution behaviour to the scheduler here with
	<code>needsReschedule </code>. This will apply a back-off timer to your job based on
	the default, or what was set with
	{@link android.app.job.JobInfo.Builder#setBackoffCriteria(long, int)}. The original
	requirements are always honoured even for a backed-off job. Note that a job running in
	idle mode will not be backed-off. Instead what will happen is the job will be re-added
	to the queue and re-executed within a future idle maintenance window.
	</p>
	
	@param params          Parameters specifying system-provided info about this job, this was given to
	your application in {@link #onStartJob(JobParameters)}.
	@param needsReschedule True if this job should be rescheduled according to the back-off
	criteria specified at schedule-time. False otherwise.
    """
        ensureHandler();
        Message m = Message.obtain(mHandler, MSG_JOB_FINISHED, params);
        m.arg2 = needsReschedule ? 1 : 0;
        m.sendToTarget();
    }
public final void jobFinished(JobParameters params, boolean needsReschedule) {
        ensureHandler();
        Message m = Message.obtain(mHandler, MSG_JOB_FINISHED, params);
        m.arg2 = needsReschedule ? 1 : 0;
        m.sendToTarget();
    }
public final void jobFinished ( JobParameters params , boolean needsReschedule ) { ensureHandler ( ) ; Message m = Message . obtain ( mHandler , MSG_JOB_FINISHED , params ) ; m . arg2 = needsReschedule ? 1 : 0 ; m . sendToTarget ( ) ; }
Callback to inform the JobManager you've finished executing. This can be called from any
thread, as it will ultimately be run on your application's main thread. When the system
receives this message it will release the wakelock being held.
<p>
You can specify post-execution behaviour to the scheduler here with
<code>needsReschedule </code>. This will apply a back-off timer to your job based on
the default, or what was set with
{@link android.app.job.JobInfo.Builder#setBackoffCriteria(long, int)}. The original
requirements are always honoured even for a backed-off job. Note that a job running in
idle mode will not be backed-off. Instead what will happen is the job will be re-added
to the queue and re-executed within a future idle maintenance window.
</p>

@param params          Parameters specifying system-provided info about this job, this was given to
your application in {@link #onStartJob(JobParameters)}.
@param needsReschedule True if this job should be rescheduled according to the back-off
criteria specified at schedule-time. False otherwise.
Callback to inform the JobManager you ve finished executing . This can be called from any thread as it will ultimately be run on your application s main thread . When the system receives this message it will release the wakelock being held . <p > You can specify post - execution behaviour to the scheduler here with <code > needsReschedule < / code > . This will apply a back - off timer to your job based on the default or what was set with { @link android . app . job . JobInfo . Builder#setBackoffCriteria ( long int ) } . The original requirements are always honoured even for a backed - off job . Note that a job running in idle mode will not be backed - off . Instead what will happen is the job will be re - added to the queue and re - executed within a future idle maintenance window . < / p >