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

Java 如何在Android中拥有多个服务实例,java,android,service,Java,Android,Service,我们可以在Android中拥有多个服务实例吗?我想要一个服务,可以使手机静音在特定的时间,我想重复使用该服务,使手机在特定的时间振动模式。所以基本上,如果我可以使该服务运行多次,那么就不需要创建另一项服务来将手机设置为振动模式。另外,如果我们可以运行多个实例,请解释如何停止它。任何代码提示都会有很大帮助 我认为这项服务不能用于这样的目的。服务必须提供一些功能,但只有一种含义,而不是为了几个不同的目的。最好为此创建额外的服务,以保持代码简单明了。您的问题没有什么意义。听起来您想要做的是让同一服务的

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

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

您的问题没有什么意义。听起来您想要做的是让同一服务的多个实例同时运行并执行不同的操作。但您的问题基本上取决于这样一个事实,即服务不应该在很长的时间内完成任务。相反,应该发生的是,他们接收到一个意图,可能产生一个线程或其他东西,然后停止徘徊。请记住,服务仍然在主线程上运行,它不是后台的,因此无论如何,您不应该在那里执行长时间运行的操作。您可能希望看到的是一个IntentService,它通过使用intent来控制应该发生的事情,从而与您的活动相协调

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

不可以。您可以有多个子类
服务
,但是
服务
的任何给定子类在任何给定时刻都将有0或1个实例

我想要一个服务,可以使手机静音在特定的时间,我想重复使用该服务,使手机在特定的时间振动模式


您不应该使用服务来实现这些。请使用
AlarmManager
BroadcastReceiver

谢谢,我正在使用AlarmManager在某个时间间隔启动服务。您能帮助我理解BroadcastReceiver以及如何使用AlarmManager使用它吗?@SumitSahoo:您可以调用
getService()
来创建您的
PendingEvent
,而不是调用
getBroadcast()
。而且,您的业务逻辑不是在
服务中,而是在
广播接收器中(通常通过
元素在清单中注册)。