當Android螢幕轉向時(如下)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
系統都會將當前的Activity關閉並重新開啟。
為了不要讓他重新執行一次,要對AndroidManifest.xml文件做一些修改
AndroidManifest.xml文件
<activity android:name=".Magazine">
</activity>
//修改為:
<activity android:name=".Magazine" android:configChanges="orientation|keyboard"> </activity>
說明:android:name=".Magazine" 為當前要修改的activty。這樣是讓程序能夠響應旋轉屏幕的事件。
然後重寫onConfigurationChanged方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(D) Log.d(TAG, "+++ onConfigurationChanged +++");
}
這樣系統就不會關閉重新開啟。
參考網站:
http://www.aslibra.com/blog/post/android-onConfigurationChanged.php
http://tonycube.blogspot.com/2011/10/dont-reload-when-rotate-device.html