1

我有一个 android 应用程序,在我的主要活动中,我可以播放音乐 onCreate()、暂停音乐 onPause() 并重新启动音乐 onResume()。我正在使用媒体播放器。问题是当我在主活动上旋转屏幕时,我不希望音乐重新启动 onResume()。当我从另一个活动回到我的主要活动时,我只希望音乐重新开始。有什么建议么?

私人媒体播放器mp;

mp = MediaPlayer.create(MainActivity.this, R.raw.always_sunny); mp.setLooping(true); 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 回答