zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    BitmapFactory.decodeStream(inputStream)返回null的解决方法
    android studio 自用快捷键方案
    jquery源码学习(四)—— jquery.extend()
    css3动画性能优化
    组件化开发之vue
    调用本地摄像头并通过canvas拍照
    傳説中的 jsonp
    jsonp的原理
    正确而又严谨得ajax原生创建方式
    让浏览器阻塞10秒钟的方法
  • 原文地址:https://www.cnblogs.com/android-zcq/p/6207917.html
Copyright © 2011-2022 走看看