1

我想以Service这种方式使用:首先我使用startService()方法启动服务。OnStartCommand()方法返回START_REDELIVER_INTENT。然后(立即或不)我绑定到这个服务。

1)我可以确定onStartCommand()在调用之前调用了服务onBind()吗?

2)当服务被杀死并且我绑定到它时 - 它会在调用之前首先使用最后交付的意图(由于START_REDELIVER_INTENT标志)重新启动onBind()吗?

4

1 回答 1

1
  1. onStartCommand()应该在活动开始时调用它,当它开始使用时,startService或者如果它没有运行并且它在onBind()被调用但onStartCommand()未被调用时启动。

  2. 如果您返回START_REDELIVER_INTENT该服务,则计划在可以再次启动时立即重新启动。

如果您只希望服务在与它交互时运行(如果您只使用onBind()和不使用) startService(),那么服务将在必要时启动,并在您使用unBind().

有关使用服务的大量信息,请参阅http://developer.android.com/reference/android/app/Service.html 。

于 2013-04-10T19:27:12.590 回答