通过与Android服务进行通信。两个不同的呼叫者

通过与Android服务进行通信。两个不同的呼叫者,android,service,Android,Service,我有一个长时间运行的服务,它由应用程序主活动启动和停止,但是我也希望通过警报更新此服务 我相信我在某个地方读到过,您在任何时候都只能运行一个服务实例,所以我可以从活动和警报恢复器启动服务吗?如果是这样的话,GC是负责服务的旧实例,还是在第二次调用启动同一实例时没有旧实例 谢谢我假设您使用的是已启动的服务,而不是绑定的服务。当您第一次调用startService()时,将调用服务“已创建”(即onCreate())。此后,无论何时调用startService(),都会调用onStartComman

我有一个长时间运行的服务,它由应用程序主活动启动和停止,但是我也希望通过警报更新此服务

我相信我在某个地方读到过,您在任何时候都只能运行一个服务实例,所以我可以从活动和警报恢复器启动服务吗?如果是这样的话,GC是负责服务的旧实例,还是在第二次调用启动同一实例时没有旧实例


谢谢

我假设您使用的是已启动的服务,而不是绑定的服务。当您第一次调用
startService()
时,将调用服务“已创建”(即
onCreate()
)。此后,无论何时调用
startService()
,都会调用
onStartCommand()


因此,是的,任何时候都有一个服务实例在运行。您只需从
活动
AlarmReceiver
调用
startService()
,如果已经创建了
服务
,则意图将传递给该服务;否则,将创建
服务
,然后将
意图
传递给它。

谢谢-是的,我没有使用有界服务,只是一个直接调用的服务。