0

想我有一个播放音乐的服务,我也有一个绑定到这个服务的活动,我想当这个服务开始一首新音乐时,引发一个事件并且活动显示一个敬酒,我该怎么做,就像这里

Service service = new se...
BindToService();

service.OnMediaPlayerStarted(new Event(

public void run()
{

};
));

我想创建一个自定义事件,例如 MediaPlayerStarted 以及何时

4

1 回答 1

0

您可以通过两种方式做到这一点:

1) 使用 LocalBroadcastManager 并编写一个接收器,用于在应用程序内发送和接收广播(可能很繁重且复杂,因此不扩展细节,但有效)。

2)使用Handler使用消息传递(这很简单)。

  • 在 Main Activity 中创建一个 Handler 并将其引用传递给 Service
  • 使用带有相应事件 ID 的 Activity 处理程序发送空消息,并在 Activity 中相应地更新 UI。
  • 请参阅此示例。- 这个用户 TimerTask 和 Runnables 但为了您的目的,只需使用 Handler 发送空消息并在 Handler 的 handleMessage(Message msg) 回调中处理它们。
于 2012-06-05T07:21:29.707 回答