从android活动绑定到服务

时间:2012-03-13 00:28:14

标签: android service

我有一个启动服务的Activity。当活动关闭时,我希望服务继续在后台运行。我在这里有几个问题。

关闭活动屏幕会导致活动实际停止吗?或者我是否需要强制停止它以使其停止?

如果关闭屏幕确实导致它停止,那么我假设我需要使用startService来启动它。那是对的吗?如果是这种情况,有没有办法在下次活动开始时获得正在运行的服务的句柄?如果不是这样,那么我可以绑定到服务。

1 个答案:

答案 0 :(得分:3)

当您的Activity在屏幕上不再显示时,它会停止。停止与Activity绑定的Service不会停止Service。但是,您需要确保在Service来电Activity时取消与onDestroy()的绑定,以确保您没有任何悬挂处理程序等。

您可以像第一次一样重新绑定到正在运行的Service。发送Intent以启动已经运行的Service不会创建它的第二个实例,因此这是安全的。

开始像您所描述的Service的好方法是使用Context.BIND_AUTO_CREATE参数启动它来调用bindService()

所有这些的详细信息可以在Android docs about bound services找到。起初可能有点混乱。请仔细遵循教程代码,因为听起来您的问题很好地映射到他们提供的样本上。