2011-01-26 82 views
1

我有一个Android应用程序,该应用程序具有用于跟踪人员位置的正在进行的服务。我希望能够从活动内启动服务,并在活动内结束它。当活动正在运行时,我需要能够绑定到服务并通过aidl与其通信。不过,即使活动结束,我仍然需要该服务。我只希望服务在活动告知时终止。如何创建在活动结束后运行的Android服务

到目前为止,我有我的活动和服务,他们可以通过一个aidl文件进行通信。但是目前服务在活动结束时结束。

当活动结束时如何让它继续运行以及活动重新启动时如何重新绑定它?

+0

你能表现出一定的片段?我创建了一项启动服务的活动,但活动结束后,服务仍在运行。 – exception01 2011-01-27 05:30:08

+0

您应该将您的解决方案作为答案发布,然后在几天后(无论最小值是多少)选择它作为答案。 – 2011-01-31 14:22:55

回答

2

我已经想通了。

我用它创建了我的服务,我和绑定到它(我需要一个绑定)的bindService方法,但如果通过调用创建bindService一个服务的服务只能作为长期生活的结合,所以当调用unbindService,当我的活动被破坏时,我正在做这个服务本身也被破坏了。

但是,如果您使用createService的调用创建服务,然后致电bindService,则您将绑定到已在运行的服务。然后,当你解开它时,它不再破坏自己。该服务将持续到您致电stopService

然后,当您重新输入您的活动,你可以检查服务是否已在运行,如果它只是调用bindService其他明智的只是调用startService其次bindService