为什么在服务中使用onStartCommand()?

时间:2012-08-08 12:27:55

标签: android service

我在实现onStartCommand().时使用服务有点困惑。在某些示例中,onStartcommand()方法已实现,而某些地方则没有。对于我需要使用这种方法,请你澄清我的疑问。

3 个答案:

答案 0 :(得分:2)

Android文档说onStartCommand()是:

  

每次客户端明确启动服务时由系统调用   通过调用startService(Intent),提供它提供的参数   以及表示开始请求的唯一整数标记。不要打电话   这种方法直接

答案 1 :(得分:1)

onStastCommand 用于将命令(意图)传递给服务。可以根据需要多次调用它。但是, onCreate 仅被调用一次,以保证服务已创建。

答案 2 :(得分:1)

使用onStartCommand()方法启动服务时会调用startService()。您永远不会自己启动服务,而是使用intent请求启动给定服务。

某些示例使用bindService()方法而不是startService()方法(您也可以同时使用这两种方法)。只要绑定了另一个应用程序组件,绑定服务就会运行。

通常,已启动的服务执行单个操作,但不会将结果返回给调用者。