如果您现在还没有找到解决方案,这可能会对您有所帮助,因为它几乎是同一件事:在我的情况下,当我service
停止播放声音时,我想更改按钮的文本。因此,播放后将执行以下操作:
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp)
{
Intent i = new Intent("CHANGE_BUTTONSTATE");
i.putExtra("state", "play");
sendBroadcast(i);
}});
像您一样,我BroadcastReceiver
在执行请求的活动中注册了我的。对应的onReceive()
看起来像这样:
@Override
public void onReceive(Context context, Intent intent)
{
String state = intent.getExtras().getString("state");
playButton.setText(state);
}};
在playButton
活动中声明的位置onCreate()
:
Button playButton = (Button) findViewById(R.id.playButton);
这种方法可能不是最好的,因为我是初学者 - 所以任何改进和建议都值得赞赏。