js与android iOS 交互兼容

在Android与js交互方面还是要比iOS方便很多,而UIWebView只暴漏出

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

只能重定位才能拦截时间,不像android中添加aaddJavascriptInterface可以直接调用

比如

webview.addJavascriptInterface(this,"native");

public void androidMethod(){}

js就可以直接调用比如

window.native.anddroidMethod

所以找出一种通用的方法来兼容js与Android、iOS的交互,解决方案如下:

首先在js中定义方法,保证iOS能监听到点击的事件,解决js调用iOS的问题

function onclick() = {document.location ='iOS://open/scheme';}

然后是android段,复写WebViewClient的onPageFinished方法,从而实现调用Android的本地方法:

@Override

public voidonPageFinished(WebView view,String url) {

super.onPageFinished(view,url);

view.loadUrl("javascript:function onclick(){native.androidAction();}");

}

webview.addJavascriptInterface(this,"native");

public void androidAction(){}

更多相关文章

  1. Android(安卓)一键退出APP 实现
  2. Android(安卓)自定义Dialog,以及失去焦点之后,Dialog消失的解决
  3. Android(安卓)面试--请描述一下Activity的生命周期?
  4. Android(安卓)Handler 分析
  5. [Android]调用字符串资源的几种方法
  6. 【Android】ProcessRecord、ServiceRecord和ConnectionRecord
  7. HTTP Server 'Bad Gateway' ( Android(安卓)adt 或者 sdk 更想不
  8. android通过web service调用查询手机归属地代码
  9. Android应用推送角标设置方法

随机推荐

  1. Android实现调用震动的方法
  2. AndroidStudio基础视频教程-整理
  3. Android打包apk
  4. android中menu.add()参数解析
  5. Android(安卓)RadioGroup和RadioButton案
  6. Android(安卓)本地缓存开源库 Reservoir
  7. Android可滑动TextView设置大段文字后,如
  8. TextView中的常用属性
  9. Android在广播接收器里启动活动和弹出对
  10. Android学习笔记两篇关于线程更新UI的方