uni-app的vue2或vue3模板项目在安卓11系统切换语言自动重启后白屏(不是闪屏)

uni-app的vue2或vue3模板项目在安卓11系统切换语言自动重启后白屏(不是闪屏)

操作步骤:

  • 创建官方的unhiapp模板项目,调用uni.setLocale切换语言,即可复现

预期结果:

  • 正常进入首页

实际结果:

  • 一直白屏

bug描述:

【报Bug】uniapp的vue2或vue3模板项目,在安卓11系统,切换语言,APP自动重启后,白屏(不是闪屏),真机联调,控制台不报错

信息项 内容
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 win11
HBuilderX类型 正式
HBuilderX版本 4.57
手机系统 Android
手机系统版本 Android 11
手机厂商 优博讯PDA设备
手机机型 优博讯i6300A
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

bug视频压缩包.zip


更多关于uni-app的vue2或vue3模板项目在安卓11系统切换语言自动重启后白屏(不是闪屏)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

21 回复

你好

更多关于uni-app的vue2或vue3模板项目在安卓11系统切换语言自动重启后白屏(不是闪屏)的实战教程也可以访问 https://www.itying.com/category-93-b0.html


应用杀掉重启会恢复吗?

杀掉重启是正常的

就是调用uni.setLocale切换语言,自动重启后,一直卡在白屏

也没有什么逻辑,就一个刚刚创建的空项目模板,然后调用下uni.setLocale而已

真机运行是否可以复现?白屏时是否输出日志。

都可以复现,但是日志是不报错的

日志正常

https://ext.dcloud.net.cn/plugin?id=6462 用这里的示例试下是否重启白屏

23:09:08.794 正在建立手机连接… 23:09:08.928 正在安装手机端HBuilder调试基座… 23:09:28.812 安装HBuilder调试基座完成 23:09:33.183 正在同步手机端程序文件… 23:09:33.695 同步手机端程序文件完成 23:09:35.455 正在启动HBuilder调试基座… 23:09:39.078 应用【hello-i18n 示例工程】已启动 23:09:41.154 App Launch at App.vue:4 23:09:41.154 App Show at App.vue:7 23:10:13.184 App Launch at App.vue:4 23:10:13.184 App Show at App.vue:7 23:10:33.564 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/component/component. 23:10:34.359 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/index/index. 23:10:34.951 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/component/component. 23:10:35.290 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/api/api. 23:10:35.643 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/schema/schema. 23:10:36.225 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/api/api. 23:10:36.597 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/component/component. 23:10:37.053 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/index/index. 23:10:37.611 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/component/component. 23:10:37.933 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/api/api. 23:10:38.183 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/schema/schema. 23:10:38.637 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/api/api. 23:10:39.093 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/component/component. 23:10:39.453 Waiting to navigate to: /pages/index/index, do not operate continuously: /pages/index/index.

用示例,切换语言重启后,页面无法展示,只显示tabbar栏

这个问题有什么眉目嘛?

用https://ext.dcloud.net.cn/plugin?id=6462示例重启后,页面无法展示,只显示tabbar栏


这明显异常了,应该是设备系统原因,你看看手机切换成英文 启动后是否白屏无法正常启动

回复 DCloud_Android_ST: 手机系统切换为英文,在启动uniapp,正常展示,唯独在app内,点击切换语言,导致的重启,无法正常展示

回复 2***@qq.com: 提供下logcat日志吧 adb logcat

回复 DCloud_Android_ST: 我把日志上传到附件,麻烦帮看下

回复 DCloud_Android_ST: 比较紧急~麻烦官方瞅一瞅

回复 2***@qq.com: 这问题有啥眉目嘛?

切换语言,自动重启后,通过adb logcat -v time *:E获取到的日志,上传到附件里边了

这是一个已知的Android 11系统兼容性问题,主要出现在某些特定设备(如优博讯PDA)上。当调用uni.setLocale切换语言触发应用重启时,WebView可能无法正确重新初始化导致白屏。

解决方案:

  1. 在manifest.json中配置"resize"事件监听:
"app-plus": {
    "webview": {
        "rebound": false
    }
}
  1. 对于Vue3项目,可以在App.vue中添加以下代码:
onLaunch(() => {
    // 修复Android 11白屏问题
    if(uni.getSystemInfoSync().platform === 'android' && 
       uni.getSystemInfoSync().osVersion >= '11') {
        setTimeout(() => {
            plus.navigator.closeSplashscreen()
        }, 300)
    }
})
  1. 如果问题依旧存在,建议改为不自动重启的切换语言方式:
uni.setLocale(lang, false) // 第二个参数设为false不重启
回到顶部