Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Job Service class
- public class MyJobService extends JobService {
- private static final String TAG = "MyJobService";
- @Override
- public boolean onStartJob(JobParameters jobParameters) {
- Log.d(TAG, "Job started");
- new JobTask(this).execute(jobParameters);
- return true;
- }
- @Override
- public boolean onStopJob(JobParameters jobParameters) {
- Log.d(TAG, "Job stopped: criteria not met");
- return true;
- }
- private static class JobTask extends AsyncTask<JobParameters, Void, JobParameters> {
- JobService jobService;
- public JobTask(MyJobService myJobService) {
- this.jobService = myJobService;
- }
- @Override
- protected JobParameters doInBackground(JobParameters... jobParameterses) {
- SystemClock.sleep(5000);
- return jobParameterses[0];
- }
- @Override
- protected void onPostExecute(JobParameters jobParameters) {
- super.onPostExecute(jobParameters);
- Log.d(TAG, "Task finished");
- jobService.jobFinished(jobParameters, true);
- }
- }
- }
- UI class
- public class UIActivity extends AppCompatActivity {
- private static final String TAG = "UIActivity";
- Button btn;
- TextView tv;
- JobScheduler jobScheduler;
- JobInfo jobInfo;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_ui);
- btn = (Button) findViewById(R.id.btn_start);
- tv = (TextView) findViewById(R.id.tv);
- btn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // start schedule
- Log.d(TAG, "button clciked");
- jobScheduler.schedule(jobInfo);
- }
- });
- jobInfo = new JobInfo.Builder(1, new ComponentName(this, MyJobService.class))
- .setPeriodic(30000)
- .setPersisted(true)
- .build();
- jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
- }
- }
- manifest
- <service
- android:name="com.example.android.myexample.MyJobService"
- android:permission="android.permission.BIND_JOB_SERVICE"
- android:exported="true"/>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement