これまでに解決策を見つけられなかった場合は、ほぼ同じことなので、これが役立つかもしれません。私の場合、ボタンのテキストを変更したかったのですが、ボタン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);
私は初心者なので、このアプローチは最善ではないかもしれません。改善点や提案をいただければ幸いです。