如何在Android中拥有多个服务实例

时间:2012-03-26 17:23:52

标签: java android service

我们可以在Android中拥有多个服务实例吗?我想要一个可以在特定时间使手机静音的服务,我想重新使用该服务,使手机在特定时间内处于振动模式。所以基本上如果我可以多次运行服务,那么就不需要创建另一个服务来在振动模式下设置手机。此外,如果我们可以运行多个实例,请解释如何停止它。任何代码提示都会有很大帮助。

3 个答案:

答案 0 :(得分:26)

  

我们可以在Android中拥有多个服务实例吗?

没有。您可以拥有多个Service的子类,但Service的任何给定子类在任何给定时刻都将精确地具有0或1个实例。

  

我想要一种可以在特定时间使手机静音的服务,我想重新使用该服务在特定时间内使手机处于振动模式。

您不应该使用任何服务。请使用AlarmManagerBroadcastReceiver

答案 1 :(得分:2)

我认为该服务不能用于此目的。服务必须提供一些功能,但只有一个含义,而不是出于几个不同的目的。最好为此创建额外的服务,以保持代码简单明了。

答案 2 :(得分:2)

你的问题没有多大意义。听起来你想要做的就是运行同一个服务的多个实例并同时做不同的事情。但是你的问题从根本上取决于服务不应该长期做事的事实。相反,应该发生的是他们收到一个意图,可能产生一个线程或什么,然后停止闲逛。请记住,服务仍然在主线程上运行,它没有后台运行,因此无论如何你都不应该在那里执行长时间的运行。你可能想要看的是一个IntentService,它通过使用控制应该发生什么的意图来协调你的活动。