原因:
1. 橫豎屏旋轉
2. 系統啓動後,搜索到可用移動網絡
會觸發onCreate方法,在開啓應用程序後,碰到上面兩種情況會銷燬當前Activity,然後重啓一個新的Activity實例.
解決方法:
1. AndroidManifest.xml中增加下面的設置
android:configChanges="mcc|mnc|orientation|keyboardHidden"
2. 重載下面的方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// 檢測屏幕的方向:縱向或橫向
if (this.getResources().getConfiguration().orientation
== Configuration.ORIENTATION_LANDSCAPE) {
//當前爲橫屏, 在此處添加額外的處理代碼
}
else if (this.getResources().getConfiguration().orientation
== Configuration.ORIENTATION_PORTRAIT) {
//當前爲豎屏, 在此處添加額外的處理代碼
}
//檢測實體鍵盤的狀態:推出或者合上
if (newConfig.hardKeyboardHidden
== Configuration.HARDKEYBOARDHIDDEN_NO){
//實體鍵盤處於推出狀態,在此處添加額外的處理代碼
}
else if (newConfig.hardKeyboardHidden
== Configuration.HARDKEYBOARDHIDDEN_YES){
//實體鍵盤處於合上狀態,在此處添加額外的處理代碼
}
}
http://www.cnblogs.com/hibraincol/archive/2010/09/18/1829862.html