android与js交互(二)

下面讲诉一种更简单的android与js交互的方法(对于js不好的同学帮助很大~~~)

<html>
<head>
    <title>学习单详情</title>
    <meta charset="utf-8">
    <meta name="viewport"
          content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
    <meta content="telephone=no" name="format-detection">
    <link href="http://218.17.158.37:8880/marketGateway/css/style.css" rel="stylesheet">

    <script>
       var imgurls='';
       /**
        *初始化获取所有图片的链接,“,”隔开
        */
      window.onload =  function init(){
         var objs = document.getElementsByTagName("img");
         for(var i=0;i<objs.length;i++)
         {
            imgurls+=objs[i].src+',';
         }
         console.log(imgurls);
       }
       /**
        *打开doc,pdf,excel 文档
        *@param type 文档类型
        *@param url 文档地址
        */
       function openDocument(type,url){
           console.log(type+"***"+url);
           androidlistner.openDocument(type,url);
           return false;
       }
        /**
        *打开图片
        *@param position 第几张图片
        *@param url 所有图片地址
        */
       function openImage(position,url){
          console.log(position+"***"+url+"***"+imgurls);
          androidlistner.openImage(position,url,imgurls);
          return false;
       }
      /**
        *打开浏览记录
        */
       function openBrowseRecord(){
            console.log("openBrowseRecord");
          androidlistner.openBrowseRecord();
          return false;
       }

    </script>

</head>
<body>

<div id="content">
    <div class="adv">
        <img onclick="openImage('0','http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/8e7fc84f732a4da69038e7df0e491309.jpeg')"
             src="http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/8e7fc84f732a4da69038e7df0e491309.jpeg"/>
    </div>

    <div class="padbox">
        <div class="box-title">
            <h2><span class="fr">2015-08-10 16:15:53</span>科学有序的进行</h2>

            <div class="tag">
                <span>小学</span>
                <span>三年级</span>
                <span>科学</span>
                <span>学习单</span>
            </div>
            <div class="sort">

            </div>
            <div class="source"><span class="fr icon-tag" onclick="openBrowseRecord()">0/0</span>来源:获取
            </div>
            <div class="text">三个王国</div>
        </div>
    </div>

    <!--padbox-->
    <div class="padbox">
        <h2>科学有序的进行</h2>

        <div class="text c-666 p-tb05"></div>
        <div class="padbox"><h3>人工智能</h3>

            <div class="text c-666 p-tb05">可很快就会可能不够</div>
            <ul class="list-txt">
                <li class="icon-3"><a
                        onclick="openDocument('1','http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/50fab07c5ed14f9c9fe7c6451a7f6c6f.doc')"
                        href="http://static.kocla.com/kocla/2015-08-10/8a20ae9c468ac4400146a85f5d17233e/document/50fab07c5ed14f9c9fe7c6451a7f6c6f.doc">流程检索</a>
                </li>
            </ul>
            <h3>机器人的世界</h3>

            <div class="text c-666 p-tb05"></div>
        </div>
    </div>
</div>

</body>
</html>
 private class MyWebViewClient extends WebViewClient {
        // 当点击链接时,希望覆盖而不是打开新窗口
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url); // 加载新的url
            return true; // 返回true,代表事件已处理,事件流到此终止
        }

        @Override
        public void onFormResubmission(WebView view, Message dontResend, Message resend) {
            super.onFormResubmission(view, dontResend, resend);
            resend.sendToTarget();
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            progressBar.setVisibility(View.VISIBLE);
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            addImageClickListner();
            progressBar.setVisibility(View.GONE);
        }
    }

//——————————————-

  // js通信接口
    class JavaScriptInterface {
        JavaScriptInterface() {
        }

        /**
         * This is not called on the UI thread. Post a runnable to invoke
         * loadUrl on the UI thread.
         */
        @JavascriptInterface
        //public void clickOnAndroid(String url) {
        public void openBrowseRecord() {
             //添加自己的业务
        }

        @JavascriptInterface
        public void openImage(String img, int position, String allUlrs) {
            //SuperToastManager.makeText(getActivity(), img + ", " + position+" ," +allUlrs).show();
            String[] imgs = allUlrs.split(",");
            ArrayList<String> imgsUrl = new ArrayList<String>();
            for (String s : imgs) {
                imgsUrl.add(s);
            }
            //浏览所有图片
            Intent intent = new Intent();
            intent.putStringArrayListExtra("ImageUrl", imgsUrl);
            intent.putExtra("CurrentPosition", position);
            intent.setClass(getActivity(), Activity_ImageReview.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            getActivity().startActivity(intent);
        }

        @JavascriptInterface
        public void openDocument(int type,String url ) {
            SuperToastManager.makeText(getActivity(),type+", "+url).show();
            mUrl = url;
            //添加自己的业务
        }
    }

    private void addImageClickListner() {
        //调用 HTML 中的javaScript 函数
        wv_Show_Document.loadUrl("javascript:void()");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值