webView = (WebView) findViewById(R.id.webViewId);
//支持javascript
webView.getSettings().setJavaScriptEnabled(true);
//打开domStorage,支持网页端本地存储window.localStorage
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
//自适应屏幕
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setLoadWithOverviewMode(true);
//如果不设置WebViewClient,请求会跳转系统浏览器
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return false;
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
//System.out.println(failingUrl);
if( failingUrl.startsWith("alipays:") ) {
view.stopLoading();
}
}
@Nullable
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
if( url.startsWith("alipays:") ) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
} catch (Exception e) {
}
return null;
}else {
return super.shouldInterceptRequest(view, request);
}
}
});
webView.loadUrl(url);
WebView 调用支付宝支付,微信支付同理
最新推荐文章于 2026-06-19 10:36:24 发布
本文介绍了如何在Android中配置WebView,包括启用JavaScript支持、开启DOM Storage、设置缓存模式和自适应屏幕。同时,详细讲解了如何设置WebViewClient以防止页面跳转,并实现了拦截请求以处理特定URL(如alipays:),展示了在WebView中加载URL的过程。

3083

被折叠的 条评论
为什么被折叠?



