通过WebView与JS进行交互
/** 初始化View */
@SuppressLint({ "SetJavaScriptEnabled" })
private void initView() {
mWebView = (WebView) findViewById(R.id.main_web);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
// 给JS设置接口obj:本地接口;interfaceName:约定的接口名字
mWebView.addJavascriptInterface(new JavascriptInterfaceDemo(MainActivity.this), "interfaceName");
mWebView.loadUrl(url);
}
/**
* JS本地接口
*
* JS调用的方法要使用@JavascriptInterface注解
* 方法名要与JS约定好
*/
class JavascriptInterfaceDemo {
private Context mContext;
public JavascriptInterfaceDemo(Context mContext) {
this.mContext = mContext;
}
@JavascriptInterface
public void method(String str) {
Log.d(tag, str);
Toast.makeText(mContext, R.string.js_ok, Toast.LENGTH_SHORT).show();
}
}