如何从不同的活动启动不同的服务实例

时间:2011-10-30 14:41:27

标签: android service android-activity instances

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

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

活动A

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);

问题是只创建了一个服务。 有解决方案吗? 提前致谢

2 个答案:

答案 0 :(得分:0)

  

例如,从活动A我想要启动服务,从活动B我想要启动同一服务的另一个实例。

这是不可能的,抱歉。

答案 1 :(得分:0)

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

这是来自android dev论坛的引用:

  

服务是单身人士。您不要将stopService()与bindService()一起使用。   只要有一个或多个客户端,服务仍然会被实例化,或者它是   明确地在开始>状态。

     

Dianne Hackborn,   Android框架工程师

抱歉这个坏消息。

干杯