0

在我的 Android 应用程序中,我会从不同的活动中启动我的服务的不同实例。例如,从活动 AI 想要启动服务,从活动 BI 想要启动同一服务的另一个实例。

从不同的活动中,我正在使用这些代码行:

活动一

svc = new Intent(AActivity.this, Service.class);
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(svc);
        `

活动 B

svc = new Intent(BActivity.this, Service.class);
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(svc);

问题是只创建了一项服务。有解决办法吗?提前致谢

4

2 回答 2

0

例如,从活动 AI 想要启动服务,从活动 BI 想要启动同一服务的另一个实例。

这是不可能的,对不起。

于 2011-10-30T22:07:39.490 回答
0

我也在考虑这样做,但是在做了一堆挖掘之后,我得出了同样的结论。不可能运行同一服务的多个实例。

这是来自 android 开发论坛的引述:

服务是单例的。您不要将 stopService() 与 bindService() 一起使用。只要有一个或多个客户端,服务就会保持实例化,或者它明确处于 start > 状态。

Dianne Hackborn,Android 框架工程师

关于这些坏消息我很遗憾。

干杯

于 2011-11-09T16:44:46.680 回答