在我的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);
问题是只创建了一个服务。 有解决方案吗? 提前致谢
答案 0 :(得分:0)
例如,从活动A我想要启动服务,从活动B我想要启动同一服务的另一个实例。
这是不可能的,抱歉。
答案 1 :(得分:0)
我也在考虑这样做,但在做了一堆挖掘后,我得出了同样的结论。不可能运行同一服务的多个实例。
这是来自android dev论坛的引用:
服务是单身人士。您不要将stopService()与bindService()一起使用。 只要有一个或多个客户端,服务仍然会被实例化,或者它是 明确地在开始>状态。
Dianne Hackborn, Android框架工程师
抱歉这个坏消息。
干杯