原因:
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