android >WebView 实现 JS , JAVA 互调

本文介绍如何使用WebView在Java与JavaScript间进行对象映射及方法调用。通过设置WebView属性并利用addJavascriptInterface方法,实现从JavaScript调用Java方法的功能。同时提供具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、映射Java对象到JavaScript对象上

mWebView = (WebView) findViewById(R.id.wv_content); 
mWebView.setVerticalScrollbarOverlay(true); 
final WebSettings settings = mWebView.getSettings(); 
settings.setSupportZoom(true); 
  
//WebView启用Javascript脚本执行 
settings.setJavaScriptEnabled(true); 
settings.setJavaScriptCanOpenWindowsAutomatically(true); 
  
//映射Java对象到一个名为”js2java“的Javascript对象上 
//JavaScript中可以通过"window.js2java"来调用Java对象的方法 
mWebView.addJavascriptInterface(new JSInvokeClass(), "HTMLOUT");

 

/**网页Javascript调用接口**/
class JSInvokeClass { 
    public void back() { 
        activity.finish(); 
    } 
}

 

 

    JS 代码

window.HTMLOUT.back(); 

 

 

2、JavaScript调用Java对象示例

 

mWebView.loadUrl("javascript:window.HTMLOUT.back();"); 

 

如果是想传参数

/**网页Javascript调用接口**/
class JSInvokeClass { 
    public void back() { 
        activity.finish(); 
    } 
   public void showHtml(String html) 
  { 
    Log.e("Html:"+html); 
  } 
}

 

 

java 执行JS

mWebView.loadUrl("javascript:window.HTMLOUT.showHtml(document.documentElement.innerHTML);");

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值