1,在android API Level 17及以上的版本中,就会出现js调用不了android的代码,这是版本兼容的问题,需要在调用的方法上面加一个注解:@JavascriptInterface,这个注解需要导入一个包:import android.webkit.JavascriptInterface;
下面是代码:
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" ); |
08 |
this .appView.addJavascriptInterface( new JavaScripdtObject(), "android" ); |
17 |
public class JavaScripdtObject
{ |
20 |
public void runAndroidMethod(String
str) { |
21 |
Toast.makeText(MainActivity. this , "被js调用" +str,
Toast.LENGTH_SHORT) |
//js代码
03 |
var str
= "javascrip木德" ; |
06 |
window.android.runAndroidMethod(str); |
11 |
<input
type= "button" value= "获取页面中的节点" onclick= "getNode4()" /> |