Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.72 KB

File metadata and controls

34 lines (22 loc) · 1.72 KB

Sending Work Requests to the Background Service

编写:kesenhoo - 原文:http://developer.android.com/training/run-background-service/send-request.html

前一篇文章演示了如何创建一个IntentService类。这次会演示如何通过发送一个Intent来触发IntentService执行任务。这个Intent可以传递一些数据给IntentService。可以在Activity或者Fragment的任何时间点发送这个Intent。

为了创建一个工作请求并发送到IntentService。需要先创建一个explicit Intent,添加数据到intent,然后通过执行startService() 把它发送到IntentService。

下面的是代码示例:

  • 创建一个新的显式的Intent用来启动IntentService。
/*
 * 创建一个新的Intent来启动RSSPullService,通过intent的"data"属性传入一个URI
 */
mServiceIntent = new Intent(getActivity(), RSSPullService.class);
mServiceIntent.setData(Uri.parse(dataUrl));
  • 执行startService()
// 启动IntentService
getActivity().startService(mServiceIntent);

**注意:**可以在Activity或者Fragment的任何位置发送任务请求。

一旦执行了startService(),IntentService在自己本身的onHandleIntent()方法里面开始执行这个任务。

下一步是如何把工作任务的执行结果返回给发送任务的Activity或者Fragment。下节课会演示如何使用BroadcastReceiver来完成这个任务。