今天有人问这个,很多时候让js的人自己百度他们看不明白Android代码,让Android的搞吧。。。
今天简单讲一下Android和js的交互。
Android主要代码:
webView.getSettings().setDefaultTextEncodingName("utf-8");
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JavaScriptObject(), "androidjs");
public class JavaScriptObject{
@JavascriptInterface
public String getId(){
return "";
}
@JavascriptInterface
public void showToast(String a,String b){
Toast.makeText(MyWebActivity.this,a+b,Toast.LENGTH_SHORT).show();
}
}
js主要代码:
<script>
// 详情
function XQ() {
window.androidjs.showToast("123","345")
}
</script>
<button onClick="XQ()">js方法调用</button>
<button onClick="window.androidjs.showToast('123','345')">直接调用可以</button>
主要注意的问题就是标颜色的部分,名字是可以随便起的但是相同颜色的名字必须相同。如果只是测试可以在Android本地测试一下代码,写一个简单的html文件放在assets文件下,注意这个文件需要自己创建,与java文件同级在mian文件下。访问是
webView.loadUrl("file:///android_asset/helloworld.html");。