js调用android本地java代码

js调用android本地java代码

  当在Android上使用WebView控件开发一个Web应用时,可以创建一个通过Javascript调用Androidjava代码的接口。也就是可以通过Javascript代码来调用Android本地的java代码!

  下面来说明一下这个接口的具体创建方法。

  第一步:首先需要在Android侧的java代码中创建实现了具体功能的类。(注意:作为接口的方法必须要加@JavascriptInterface注解)比如:

 1 public class WebAppInterface {
 2     Context mContext;
 3 
 4     /** Instantiate the interface and set the context */
 5     WebAppInterface(Context c) {
 6         mContext = c;
 7     }
 8 
 9     /** Show a toast from the web page */
10     @JavascriptInterface
11     public void showToast(String toast) {
12         Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
13     }
14 }

 

  在这个例子中,WebAppInterface类允许Web页面通过showToast方法打开一个Toast提示消息。

  第二步:在Android侧的java代码中,通过WebViewaddJavascriptInterface方法将第一步创建的接口和WebView绑定起来。具体代码如下:

1 WebView webView = (WebView) findViewById(R.id.webview);
2 
3 // 传入的第二个参数angle,就是可已在js代码中直接使用的实例名称
4 webView.addJavascriptInterface(new WebAppInterface(this), "angle");

 

  第三步:使用第二步创建的接口。在Web页面的js代码中,可以条用angle对象的showToast方法来间接调用第一步中WebAppInterface类中的showToast方法。具体应用示例如下:

1 <input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
2 
3 <script type="text/javascript">
4     function showAndroidToast(toast) {
5         angle.showToast(toast);
6     }
7 </script>

 

 参考资料:android-sdk/docs/guide/webapps/webview.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值