Android安卓JavascriptInterface与H5交互的基本使用以及报错解决办法。
具体的实现可以查看完整的demo:
跳转下载
1.在Manifests添加权限
<uses-permission android:name="android.permission.INTERNET" />
2.开启webview的javascript
webView.getSettings().setJavaScriptEnabled(true);
3.准备一个测试的index.html,放在assets文件夹下,并打开
webView.loadUrl("file:///android_asset/index.html"); //加载页面
4.准备一个object 和一个交互公共名字,通过webview的addJavascriptInterface方法传入
webView.addJavascriptInterface(new JsObject(), "WebViewJavascript"); //第一个参数是obj,第二个参数是暴露一个obj的名字给网页js,这样才能将你的安卓方法注入到js里进行交互。
class JsObject{
@JavascriptInterface
public void change_text(String str){
Log.d("注入", "执行 change方法");
MainActivity.bottom_textview.setText(str); //改变文字
}
@JavascriptInterface
public void change_color(String textAAA){
Log.d("注入", "执行 color方法");
MainActivity.color_layout.setBackgroundColor(Color.parseColor(textAAA)); //将颜色代码转换成数字
}
}
- 最关键重要的点,添加注解!
@SuppressLint("JavascriptInterface") 在onCreate上添加该注解
@JavascriptInterface 只有在Object里的方法中添加该注解,才会被调去