html调用按钮打开iOS/Android界面:
.html文件
<script type="text/javascript"> var userAgent = navigator.userAgent; var terminal=""; if (userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1) {//安卓手机 terminal="0"; } else if (userAgent.indexOf('iPhone') > -1) {//苹果手机 terminal="1"; } else { } //iOS与安卓调用不同的方法 function doMyDongTan(){ //alert(terminal); if(terminal =="1"){ window.location.href="shangyun://openQR"; }else if(terminal =="0"){ window.URLIoT.QRrun(); } } //安卓与js交互, //将在java端扫到的DID放入“did”的输入框中 function DID_Htmlcalljava(arg){ document.getElementById("did").value = arg; } </script>
//调用js方法
<a href="javascript:void(0)" onclick="doMyDongTan()">
<img border="0" src="./img/erweima.png" alt="扫描二维码" width="45" height="45">
</a>
iOS文件
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(nonnull NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
//获取网页中的动作
if ([request.URL.absoluteString isEqualToString:@"shangyun://openQR"]) {
//打开扫描方法
[self openQR];
return NO;//返回NO,表示不加载这个页面
}
return YES;
}
Android文件
webview.addJavascriptInterface(Localfragment.this, "URLIoT");
@JavascriptInterface
public void QRrun(){
//打开扫描界面
Intent startScan=new Intent(getActivity(), CaptureActivity.class);
startActivityForResult(startScan, 0);
}
webview.loadUrl("javascript: DID_Htmlcalljava('"+Dev_DID+"')");