Native和H5之间的简单调用

1、H5页面调用安卓Native界面

1)通过给webView添加JsInterface,安卓提供接口,让H5来进行调用

a)安卓写一个类,里面的方法需要用通过注解来表明是java接口的方法。

eg:

privateclassWebInterface {

@JavascriptInterfacepublicvoidcallFromJSBasicDataType(intx,floaty,charc,booleanresult) {

String str = "-" + (x + 1) + "-" + (y + 1) + "-" + c + "-" + result;

Log.e("tttt", "tttttt"+str);

}

@JavascriptInterfacepublicvoidcallAndroidMethod() {

Log.e("tttt", "tttttt2");

}

}

b)设置webView可以支持js

eg:

webView.getSettings().setJavaScriptEnabled(true);

c)给webView添加js接口类,并取别名

webView.addJavascriptInterface(new WebInterface(), "robot");

至此,安卓的配置完成了。

下面配置HTML页面

在代码中添加下面的代码,如果加载了页面了,就会调用起别名叫robot这个接口类里面的js接口方法

点击我调用android 方法

2)通过设置webview的setWebViewClient。安卓通过url跳转时的改变,来进行不同的操作

当webview加载的页面出现变化的时候,可以进行不同的操作,例如访问站外的网址,或者黑名单的网址进行提示

eg:

wb.setWebViewClient(newCustom());privateclassCustomextendsWebViewClient{

@OverridepublicbooleanshouldOverrideUrlLoading(WebView view, String url) {// TODO Auto-generated method stubLog.e("tttt", url);if(url.contains("bai")) {

Dialog d=newDialog(MainActivity.this);

d.setTitle("ttttt");

d.show();returntrue;

}returnfalse;

}

@OverridepublicvoidonPageStarted(WebView view, String url, Bitmap favicon) {// TODO Auto-generated method stubsuper.onPageStarted(view, url, favicon);

}

@OverridepublicvoidonPageFinished(WebView view, String url) {// TODO Auto-generated method stubsuper.onPageFinished(view, url);

}

}

2、安卓Native界面调用H5方法

主要就是通过webview的LoadUrl方法

eg:

webView.loadUrl("javascript:noParamFunction();");

注:需要页面加载完成之后调用才有效。因为js脚本需要完全加载到页面中才可以调用到,否则没有任何效果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、WebView 谷歌提供的系统组件,用来加载和展现html网页,其采用webkit内核驱动,来实现网页浏览功能...
    闲庭阅读 7,032评论 2 12
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,510评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,142评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 我打小不受欢迎。 他们有的说我太吵,有的说我装腔作势,还有的说我以自我为中心。 我不太理解。 我只...
    犬君阅读 1,932评论 30 24