音楽を再生するアプリケーションがあります。(オプションメニューで閉じることもできます。)
しかし、問題は、ホームボタンを押すと音楽が再生され続けることです。ユーザーがホームボタンを押したときに音楽を停止したいです。
music.stop()にonPause()とonStop()メソッドを入れてみました。しかし、新しいアクティビティを開始すると音楽も停止しますが、ホームボタンを押したときにのみ停止したくないため、失敗します。
私のコードは次のとおりです。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
it=(RadioButton)findViewById(R.id.radio0);
ti=(RadioButton)findViewById(R.id.radio1);
but=(ToggleButton)findViewById(R.id.toggleButton1);
music=MediaPlayer.create(Options.this, R.raw.avril);
mainmenu=new Intent("com.KAYA.ingilizce_gelistirme.BASLANGIC");
but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(but.isChecked()) {
if(!music.isPlaying())
music.start();
}
else
if(music.isPlaying())
music.pause();
}
});
it.setChecked(true);
Button menu=(Button)findViewById(R.id.button1);
menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(mainmenu);
}
});
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
startActivity(new Intent(mainmenu));
}
@Override
protected void onPause() {
if(music.isPlaying()){
music.pause();
music.release();
}
but.setChecked(false);
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
}
ここで音楽の再生が始まる OPTIONS ACTIVITY ですが、メニュー アクティビティを通過すると、音楽も停止します。