My Android app is upgrade to API 29, so we need to change from Xwalkcorelibrary to WebView, when run app can show HTML5 but the content of this page is not show.
When use WebView:
setContentView(R.layout.bookshelf_view);
mWebView = findViewById(R.id.web_view);
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
});
try {
WebSettings webSettings = mWebView.getSettings();
webSettings.setUserAgentString(webSettings.getUserAgentString() + " " + AndroidCore.getInstance().getApiVersion());
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);
webSettings.setAppCacheEnabled(true);
} catch (Exception e) {
e.printStackTrace();
}
mWebView.loadUrl("file:///android_asset/HTML5/index.html");
When use Xwalkcorelibrary :
try {
Method getBridge = XWalkView.class.getDeclaredMethod("getBridge");
getBridge.setAccessible(true);
XWalkViewBridge xWalkViewBridge = null;
xWalkViewBridge = (XWalkViewBridge) getBridge.invoke(mXwalkView);
XWalkSettings webSettings = xWalkViewBridge.getSettings();
webSettings.setUserAgentString(
webSettings.getUserAgentString() + " " + AndroidCore.getInstance().getApiVersion());
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);
webSettings.setAppCacheEnabled(true);
} catch (Exception e) {
e.printStackTrace();
}
mXwalkView.setResourceClient(new MyResourceClient(mXwalkView));
mXwalkView.setUIClient(new MyUIClient(mXwalkView));
this.configureWebView();
mXwalkView.loadAppFromManifest("file:///android_asset/manifest.json", null)
So what I did wrong ? Please help me figure out solution ?
Have you tried like this It is working for me in my project :
Intercepting WebView HTTP Requests
Caching Values in HTML 5 Local Storage