您的位置:首页 > 移动开发 > Android开发

Android onCreate方法被调用两次的解决方法

2013-04-26 17:35 411 查看
原因:

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){
//实体键盘处于合上状态,在此处添加额外的处理代码
}
}


reference:
/article/5851767.html

http://www.linuxidc.com/Linux/2012-01/50845.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐