当浏览器切换到横屏状态时,程序崩溃。
AndroidManifest配置正常。
查看BrowserActivity部分的代码
当在xml文件中设置android:configChanges的属性值有方向切换后,在屏幕切换方向时会自动调用onConfigurationChanged(Configuration newConfig)方法
当注释掉mController.onConfigurationChanged(newConfig)以下的部分时,浏览器可以正常切换方向。
查看
Locale locale = newConfig.locale;
if (!mLocale.equals(locale)) {
if ((getController()!=null)&&(getController().getCurrentTab()!=null))
getController().getCurrentTab().reShowGeolocationPermissionsPrompt();
mLocale = locale;
}
部分代码的作用
Locale对象可以获取一些配置的相关属性。
mLocale为当前应用的local对象,locale是新传入的设置包含的locale对象
这段代码是将程序的locale赋值为新改变配置的locale
查看mLocale的赋值,发现mLocale没有赋值,造成程序崩溃。