方法:
1、通过webview访问js脚本
2、js脚本再调用webview中的java函数把结果返回
示例代码:
通过本地的webview打开脚本页面。
调用步骤
1、设置webview支持脚本
webSettings.setJavaScriptEnabled(true)2、打开脚本页面
mWebView.loadUrl("file:///android_asset/demo.html")//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本3、调用脚本
mWebView.loadUrl("javascript:wave()")//调用打开页面中的wave函数4、webview中建立js能够访问
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo")//js可以通过demo访问到DemoJavaScriptInterface 类中的方法。final class DemoJavaScriptInterface {
DemoJavaScriptInterface() {
}
public void clickOnAndroid(String result) {
System.out.prinltn("返回的结果"+result)
}
}
5、js访问webview方法
<script language="javascript">function wave() {
alert("1")
window.demo.clickOnAndroid('结果1')//返回结果,调用java方法
}
</script>
总的来说都是使用安卓webview.loadUrl(url)加载页面
url为在线网页连接
将打包好的网页资源放入安卓静态目录
加载目录为
Android 调用 JS 有两种方式,都是通过 WebView 的方法:
webview.loadUrl()
webview.evaluateJavascript()
js方法
vue需要把方法挂载到windows
通过映射js object暴露给js操作
安卓
h5调用
经常需要适配安卓和ios
加入以下机型判断
Android与H5交互——JSBridge - (jianshu.com)
@JavascriptInterface public String getValue(final String str) {if(str.equals("test")){ //java中不能用==号return "a"}return "b"}