2011-10-30 50 views
0

在我的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); 

问题是thath创建只有一个服务。 有解决方案吗? 在此先感谢

+2

您能否详细说明为什么要使用同一服务的不同实例? 为什么不只是使用一个服务实例,然后从您的不同活动绑定到它呢? – Darwind

回答

0

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

这是不可能的,对不起。

0

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

这是从Android开发论坛报价:

服务是单身。你不要在bindService()中使用stopService()。 只要存在一个或多个客户端,它就会保持实例化,或者在开始>状态中显式为 。

戴安娜Hackborn, Android框架工程师

很抱歉的坏消息。

干杯

相关问题