1

メイン アクティビティで onCreate() で音楽を再生し、onPause() で音楽を一時停止し、onResume() で音楽を再開できる Android アプリがあります。MediaPlayerを使用しています。問題は、メイン アクティビティで画面を回転させているときに、音楽を onResume() で再開させたくないことです。別のアクティビティからメイン アクティビティに戻ったときにのみ、音楽を再開したいと考えています。助言がありますか?

プライベート MediaPlayer mp;

mp = MediaPlayer.create(MainActivity.this, R.raw.always_sunny); mp.setLooping(真); mp.start();

@Override
protected void onPause() {
  super.onPause();
  mp.getCurrentPosition();
  mp.pause();
}

@Override
protected void onResume() {
  super.onResume();
  mp.seekTo(0);
  mp.start();
}
4

1 に答える 1

3

マニフェストのアクティビティに次の属性を追加します。

android:configChanges="keyboardHidden|orientation|screenSize"

これにより、向きが変わったときやキーボードが表示されたときにアクティビティが再起動するのを回避できます。

ローテーションが変更されたときに何かを行う必要がある場合 (たとえば、この場合の画像を変更するなど)、次のメソッドをアクティビティに追加します。

@Override
public void onConfigurationChanged (Configuration newConfig) {
  // Change here your image
}
于 2012-06-09T20:50:02.273 に答える