我已经在assets
文件夹(即HTML
,CSS
和Javascript
文件)中本地存储了一个网站。使用WebView
,我可以在尝试使用Android 9(模拟)或硬件的任何电话上显示网站。但是,当API低于28时,WebView
为空白。这是我使用的代码:
webView = (WebView) findViewById(R.id.webview);
webView.loadUrl("file:///android_asset/website.html");
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setDisplayZoomControls(false);
webSettings.setSupportZoom(true);
webSettings.setDefaultTextEncodingName("utf-8");
webView.addJavascriptInterface(jsInterface, "JSInterface");
可能是什么错误?
由于启用了JavaScript并添加了javascript接口,因此在加载URL之前,请在以下行中添加
webView.setWebViewClient(new WebViewClient());
所以您的代码将是
webView = (WebView) findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setDisplayZoomControls(false);
webSettings.setSupportZoom(true);
webSettings.setDefaultTextEncodingName("utf-8");
webView.addJavascriptInterface(jsInterface, "JSInterface");
webView.loadUrl("file:///android_asset/website.html"); //at the last