我使用以下内容在活动B中启动了一项服务:
private Intent streamPlayerServiceIntent;
.
.
.
streamPlayerServiceIntent = new Intent(getSherlockActivity(), StreamPlayerService.class);
streamPlayerServiceIntent.putExtra("url", result);
getSherlockActivity().startService(streamPlayerServiceIntent);
我希望从Activity A访问服务实例。如何访问该服务,哪种方法最合适?该服务从URL播放流。
我不希望通过将intent声明为static或将service转换为singleton来访问该服务,因为我打算稍后创建该服务的另一个实例。
答案 0 :(得分:0)
您需要做的是绑定到服务。这里解释有点长(我可能最终会粘贴手册)。
简而言之,当您绑定到服务时,您提供了一个回调连接对象。当绑定成功并且您可以检索指向服务实例的指针时,此连接对象(可能在您的活动中)会得到通知(类似于控件的onclickListener)。一旦掌握了服务指针,就可以做任何你想做的事。
检查the documentation,这是一个非常好的例子。