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