如何从启动服务的活动以外的活动访问服务实例

时间:2014-03-05 22:43:33

标签: android android-intent android-activity android-service

我使用以下内容在活动B中启动了一项服务:

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

我希望从Activity A访问服务实例。如何访问该服务,哪种方法最合适?该服务从URL播放流。

我不希望通过将intent声明为static或将service转换为singleton来访问该服务,因为我打算稍后创建该服务的另一个实例。

1 个答案:

答案 0 :(得分:0)

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

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

检查the documentation,这是一个非常好的例子。

相关问题