android Jobscheduler的用法
来源:互联网 发布:熊猫手机直播软件下载 编辑:程序博客网 时间:2024/05/17 00:14
android 5.0发布快半年了 终于有时间去了解他的一些例子了
对于Jobscheduler例子 在MainActivity的onCreate方法中 除了初始化一些组建之后启动了 最关键的服务 代码如下
Intent startServiceIntent = new Intent(this, TestJobService.class); startServiceIntent.putExtra("messenger", new Messenger(mHandler)); startService(startServiceIntent);
然后 有两个点击时间的方法
/** * UI onclick listener to schedule a job. What this job is is defined in * TestJobService#scheduleJob(). */ public void scheduleJob(View v) { if (!ensureTestService()) { return; }//咋个创建一个JobInfo对象 应用build模式 然后设置一个表示id和一个server组建 JobInfo.Builder builder = new JobInfo.Builder(kJobId++, mServiceComponent);//设置岩石 String delay = mDelayEditText.getText().toString(); if (delay != null && !TextUtils.isEmpty(delay)) { builder.setMinimumLatency(Long.valueOf(delay) * 1000); }
//设置截至日期 String deadline = mDeadlineEditText.getText().toString(); if (deadline != null && !TextUtils.isEmpty(deadline)) { builder.setOverrideDeadline(Long.valueOf(deadline) * 1000); }
//设置执行任务的网络的环境 boolean requiresUnmetered = mWiFiConnectivityRadioButton.isChecked(); boolean requiresAnyConnectivity = mAnyConnectivityRadioButton.isChecked(); if (requiresUnmetered) { builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED); } else if (requiresAnyConnectivity) { builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); }
// builder.setRequiresDeviceIdle(mRequiresIdleCheckbox.isChecked()); builder.setRequiresCharging(mRequiresChargingCheckBox.isChecked());//回调 server方法 mTestService.scheduleJob(builder.build()); } public void cancelAllJobs(View v) { JobScheduler tm = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); tm.cancelAll(); } /** * UI onclick listener to call jobFinished() in our service. */ public void finishJob(View v) { if (!ensureTestService()) { return; } mTestService.callJobFinished(); mParamsTextView.setText(""); }
cancelAllJobs方法 是取消所有作业的方法 通过获取
JobScheduler
<pre name="code" class="java">JobSchedulerJobScheduler
JobScheduler 对象调用cancelall方法取消所有惹怒
在server累中
/** Send job to the JobScheduler. */ public void scheduleJob(JobInfo t) { Log.d(TAG, "Scheduling job"); JobScheduler tm = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); tm.schedule(t); }
这个天假调度的方法 当瞧见满足 就会调度
//在jobschedulerservice中用一个linkedhashmap保存 任务
@Override
public boolean onStopJob(JobParameters params) {
// Stop tracking these job parameters, as we've 'finished' executing.
jobParamsMap.remove(params);
if (mActivity != null) {
mActivity.onReceivedStopJob();
}
Log.i(TAG, "on stop job: " + params.getJobId());
return true;
}
这个方法是重写父类的 可以做一些回调操作 通知mainactivity
0 0
- android Jobscheduler的用法
- JobScheduler 用法
- Android里JobScheduler的实现
- Android JobScheduler
- Android-JobScheduler
- Android JobScheduler
- Android 5.0的调度作业JobScheduler
- Android 5.0的调度作业JobScheduler
- Android 5.0的调度作业JobScheduler
- Android Lollipop JobScheduler API
- 使用Android JobScheduler优雅的处理后台数据
- Android中JobScheduler和JobService的简单使用示例
- JobScheduler的使用
- JobScheduler API 的使用
- JobScheduler的使用
- JobScheduler
- JobScheduler
- Android JobScheduler/JobService 工作调度
- 爱情发生器:36个问题+4分钟对视=告别单身
- git log命令
- 剑指Offer --> Questions 35
- Problem H 一道水题
- Android入门--ListView使用总结
- android Jobscheduler的用法
- (2.2.1)设计模式一览
- 信号量-内核信号量、POSIX信号量、system V信号量
- Linxu内核中断
- 二级 长度为7的字符串除首位外其余五个字符按ascii码进行排序
- Leetcode: Fraction to Recurring Decimal
- 黑马程序员——Java语言基础
- JVM什么时候退出
- C#探秘系列(一)