前言
大爺:小伙我這手機(jī)怎么打開你們呢這個是白屏什么都不顯示。
大娘:小伙我這也是打開你們呢這功能,就是一個白屏什么也沒有,你們呢的應(yīng)用不會有病毒吧。
小伙:我的手機(jī)也正常;
同事:我的也正??梢燥@示;
小伙:你們都是什么手機(jī)型號;
大爺:我的Android7.1.1 OPPOA73
大娘:我的新買的OPPO K7 android10.0
小伙想:莫非都是oppo手機(jī),Android版本太低了么
一、什么原因?qū)е碌哪?/h2>
百度:
- 有可能是你的是https請求證書過期了導(dǎo)致的
- 有可能是你的開啟可硬件加速導(dǎo)致的
- 使用uni編寫的沒有將es6轉(zhuǎn)成es5語法導(dǎo)致
二、開始解決
1.證書過期
忽略證書問題重寫setWebViewClient
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
//https忽略證書問題
if (handler != null) {
//表示等待證書響應(yīng)
handler.proceed();
// handler.cancel(); //表示掛起連接,為默認(rèn)方式
// handler.handleMessage(null); //可做其他處理
}
}
2.關(guān)閉硬件加速
在AndroidManifest的<activity 加 android:hardwareAccelerated=“false”
<activity
android:name=".xxx.xxAct"
android:exported="false"
android:hardwareAccelerated="false"
android:screenOrientation="portrait" />
3.uniapp的es6轉(zhuǎn)成es5
我的uni是vue3+vite
我就是這個原因?qū)е碌?/strong>
我是使用babel操作的es6轉(zhuǎn)es5
下載插件
"babel": "^6.23.0",
"babel-core": "^6.26.3",
"babel-loader": "^9.1.3",
"babel-preset-es2015": "^6.24.1",
"babel-cli": "^6.26.0",
找到vite.config.js文件
uni({
viteLegacyOptions: {
targets: ['Chrome > 70']
}
}),
然后重新運(yùn)行打包,部署服務(wù)器,完美解決了文章來源:http://www.zghlxwxcb.cn/news/detail-852000.html
總結(jié)
es6語法運(yùn)行在低版本的Android手機(jī)上會導(dǎo)致手機(jī)白屏。文章來源地址http://www.zghlxwxcb.cn/news/detail-852000.html
到了這里,關(guān)于安卓部分手機(jī)使用webview加載鏈接后白屏(Android低版本會出現(xiàn)的問題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!