js调用android的版本兼容问题

1,在android API Level 17及以上的版本中,就会出现js调用不了android的代码,这是版本兼容的问题,需要在调用的方法上面加一个注解:@JavascriptInterface,这个注解需要导入一个包:import android.webkit.JavascriptInterface; 

下面是代码:

01 @Override
02     public void onCreate(Bundle savedInstanceState) {
03         requestWindowFeature(Window.FEATURE_NO_TITLE);
04         super.onCreate(savedInstanceState);
05         this.loadUrl("file:///android_asset/www/index.html");
06          
07         //给js设置调用的方法
08         this.appView.addJavascriptInterface(new JavaScripdtObject(), "android");
09          
10     }
11     /**
12      * 供js调用的对象方法
13      *
14      * @author YUJIAN
15      *
16      */
17     public class JavaScripdtObject {
18  
19         @JavascriptInterface//加入这个注解
20         public void runAndroidMethod(String str) {
21             Toast.makeText(MainActivity.this"被js调用"+str, Toast.LENGTH_SHORT)
22                     .show();
23         }
24     }
//js代码

01 function getNode4()
02 {
03     var str = "javascrip木德";
04      
05     //调用android代码
06     window.android.runAndroidMethod(str);
07      
08 }
09 </script>
10  
11 <input type="button" value="获取页面中的节点" onclick="getNode4()" />
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值