在最后一个客户端取消绑定后退出服务,即使事先调用了startService()?

时间:2010-06-10 04:41:22

标签: android

我有一个应用程序,它有一个客户端Activity和一个长期运行的服务。服务可以由警报管理器或活动本身启动。

警报意图调用startService()。 Activity调用startService,然后将自己绑定到服务,以便它可以从中获取信息。

当我退出Activity时,在Activity上调用onDestroy(),Activity从服务取消绑定,并在服务上调用onDestroy()。

我的印象是,如果我调用了startService(),那么服务将保持不变,直到调用了stopService()/ stopSelf(),无论客户端是否从中取消绑定。

我误解了什么吗?

1 个答案:

答案 0 :(得分:1)

部分取决于您使用的SDK版本。在这个Service Lifecycle引用中,它表示onStartCommand()必须为您想要的行为返回START_STICKY。在API级别5之前,没有onStartCommand和服务都是粘性的。