2014-03-05 46 views
0

我有一个是在活动B使用正在启动一项服务:如何从以外的活动的活动访问该服务的实例启动服务

private Intent streamPlayerServiceIntent; 
. 
. 
. 
streamPlayerServiceIntent = new Intent(getSherlockActivity(), StreamPlayerService.class); 
streamPlayerServiceIntent.putExtra("url", result); 
getSherlockActivity().startService(streamPlayerServiceIntent); 

,我想访问该服务实例来自活动A.如何访问服务,哪种方法最适合?该服务从URL播放流。

我不想通过声明意图为静态接入服务或转换服务是一个单身,因为我打算以后创建服务的另一个实例。

+1

你打算如何创建另一个服务实例?在那时只有一个实例会得到所有的请求。 – Prakash

+0

是的,你是正确的... http://stackoverflow.com/questions/9876745/how-to-have-multiple-instance-of-service-in-android – burakk

回答

0

你需要做的是绑定的服务。在这里解释有点长(我可能最终会粘贴手册)。

总之,当你绑定到服务时,你提供了一个回调连接对象。这个连接对象(可能在你的活动中)会在绑定成功时得到通知(类似于控件的onclickListener),并且你可以检索指向服务实例的指针。一旦用手中的服务指针,你可以做任何你想要的。

检查the documentation,这里有个很好的例子。