android 和h5互调步骤

Posted 小小博客园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 和h5互调步骤相关的知识,希望对你有一定的参考价值。

1. android 中调用JS

假如:H5页面中有一段如下JS代码

function h5Test(str){
  xxxx...
  xxxx...
}

Android中调用方式如下:

步骤一: 启动支持JS

WebSettings ws = getSettings();

ws.setjavascriptEnable(True);

步骤二: 加载网页

webView.loadUrl(url);

步骤三:调用网页中的js, 注意此处函数名要和 上面js代码中函数名完全一致

webView.loadUrl("javascript:changeTitle(‘Android调用js‘)");

2.JS调用Android

假定点击H5网页上的一个按钮,跳转到Android代码中的某个Activity页面

步骤一:启动支持JS

WebSettings ws = getSettings();

ws.setJavaScriptEnabled(true);

步骤二:给webView添加JS接口类, 该类封装了原生的操作. 参数2是JS中的实体类名字,需要和js代码中名字保持一致

webView.addJavascriptInterface(new JsInterface(),"js2android");

H5页面见到js2android 就会到JsInterface()类中找相应方法.

步骤三:编写接口类的内容

public class JsInterface{
  @JavascriptInterface  //这个注解一定要带上
  public void selectPic(){
    Intent intent = new Intent(WebViewActivity.this,GetPicActivity.class);
    startActivityForResult(intent,100);
  }
}

 

步骤四:H5页面中JS对应代码

function appSelectPic(){
  javascript:js2android.selectPic();
}

通过以上4个步骤,就可以做到点击H5页面的一个按钮,跳转到 对应Activity

以上是关于android 和h5互调步骤的主要内容,如果未能解决你的问题,请参考以下文章

Android与H5互调(通过实例来了解Hybrid App)

Android中webview与JS交互互调方法

Android(H5)互相调用方法

iOS下JS和原生交互,函数互调

java和js互调 webview

android和cocos2dx可以互调吗