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 |
更多关于uni-app的vue2或vue3模板项目在安卓11系统切换语言自动重启后白屏(不是闪屏)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好
更多关于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栏
这明显异常了,应该是设备系统原因,你看看手机切换成英文 启动后是否白屏无法正常启动
回复 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可能无法正确重新初始化导致白屏。
解决方案:
- 在manifest.json中配置"resize"事件监听:
"app-plus": {
"webview": {
"rebound": false
}
}
- 对于Vue3项目,可以在App.vue中添加以下代码:
onLaunch(() => {
// 修复Android 11白屏问题
if(uni.getSystemInfoSync().platform === 'android' &&
uni.getSystemInfoSync().osVersion >= '11') {
setTimeout(() => {
plus.navigator.closeSplashscreen()
}, 300)
}
})
- 如果问题依旧存在,建议改为不自动重启的切换语言方式:
uni.setLocale(lang, false) // 第二个参数设为false不重启