概要
上一课向你展示了如何创建一个 JobIntentService类。本课向您介绍如何触发 JobIntentService通过排列工作来运行操作Intent。这Intent可以选择性地包含JobIntentService要处理的数据 。
创建并发送工作请求到JobIntentService
要创建工作请求并将其发送给a JobIntentService,请创建一个工作请求并 Intent通过调用将其排入队列。或者,您可以将数据添加到意图(以意向附加的形式)以供JobIntentService处理。有关创建意图的更多信息,请阅读意向和意图过滤器中的构建意图部分 enqueueWork()
以下代码片段演示了这个过程:
1.Intent为被叫 创建一个新的 。 JobIntentServiceRSSPullService
/*
* Creates a new Intent to start the RSSPullService
* JobIntentService. Passes a URI in the
* Intent's "data" field.
*/
mServiceIntent = new Intent();
mServiceIntent.putExtra("download_url", dataUrl));
2.呼叫 enqueueWork()
// Starts the JobIntentService
private static final int RSS_JOB_ID = 1000;
RSSPullService.enqueueWork(getContext(), RSSPullService.class, RSS_JOB_ID, mServiceIntent);
请注意,您可以从活动或片段中的任何位置发送工作请求。例如,如果您需要首先获得用户输入,则可以从回调中发送请求,该回调响应按钮点击或类似的手势。
一旦你打电话,它的方法定义的工作 ,然后停止自己。 enqueueWork() JobIntentService onHandleWork()
下一步是将工作请求的结果回报给原始活动或片段。下一课向你展示如何用a做这个 BroadcastReceiver。
Lastest Update:2018.05.08
联系我
QQ:94297366
微信打赏:https://pan.baidu.com/s/1dSBXk3eFZu3mAMkw3xu9KQ
公众号推荐:
转载于:https://blog.51cto.com/4789781/2124446