【Browser】浏览器横屏时程序崩溃

当浏览器切换到横屏状态时,程序崩溃。
AndroidManifest配置正常。
查看BrowserActivity部分的代码

当在xml文件中设置android:configChanges的属性值有方向切换后,在屏幕切换方向时会自动调用onConfigurationChanged(Configuration newConfig)方法

【Browser】浏览器横屏时程序崩溃_第1张图片
当注释掉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没有赋值,造成程序崩溃。

你可能感兴趣的:(android,browser)