Android官方开发文档Training系列课程中文版:后台服务之IntentService的使用

    xiaoxiao2025-06-23  27

    原文地址:http://android.xsoftlab.net/training/run-background-service/send-request.html

    上节课我们学习了如何创建IntentService。这节课我们主要学习如何通过Intent使IntentService执行工作请求。Intent可以将任何数据交给IntentService处理。你可以在Activity或者Fragment的任意方法内发送Intent给IntentService。

    创建并发送工作请求到IntentService

    为了创建一个工作请求并将其发送给IntentService,首先我们需要创建一个显式 的Intent对象,然后向其添加请求数据,最后再通过startService()将它发送到IntentService。

    下面的代码演示了这个过程:

    为名RSSPullService的IntentService创建一个显式 的Intent。 /* * Creates a new Intent to start the RSSPullService * IntentService. Passes a URI in the * Intent's "data" field. */ mServiceIntent = new Intent(getActivity(), RSSPullService.class); mServiceIntent.setData(Uri.parse(dataUrl)); 调用startService()。 // Starts the IntentService getActivity().startService(mServiceIntent);

    注意,你可以在Activity或者Fragment的任何地方发送工作请求。举个例子,如果你需要先获得用户的输入数据,那么就可以将工作请求的发送代码放在Button按钮的点击回调内。

    一旦调用了startService(),那么IntentService将会在onHandleIntent()方法内执行工作请求,并且它会在任务完成后自动停止。

    下一个步骤就是如何将工作的完成结果反馈给请求调用处。下一节课将会学习如何使用BroadcastReceiver完成这个过程。

    转载请注明原文地址: https://ju.6miu.com/read-1300247.html
    最新回复(0)