js调用android的版本兼容问题

来源:互联网 发布:淘宝卖耐克哪家好 编辑:程序博客网 时间:2024/05/23 10:16
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代码

01function 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 0
原创粉丝点击