Android webview解析 ,webview点击获取图片地址

来源:互联网 发布:mac是什么档次化妆品 编辑:程序博客网 时间:2024/06/02 13:58

webview 解析

  1. 需求 :
    解析webview内的商品图片地址,店铺头像


定义内部类 Hand

    class Hand {        @JavascriptInterface      public void getImageurl(String data){//        Log.e("网页内容", data);          Document document=Jsoup.parse(data);          Element dianpu=document.select("[class=lf_icon]").first();          Element imgele=dianpu.getElementsByTag("img").first();          String mg=imgele.attr("src");          Log.e("店铺图片", mg);          if(mg!=null){              mShareshopImage=mg;          }          //商品          Element element=document.select("[class=new_xq_img]").first();          Element element2=element.getElementsByTag("img").first();          String m=element2.attr("src");          Log.e("图片地址", m);          if(m!=null){              mShareGoodImage=m;          }      }    }

上面内部类把获取的body内容用Jsoup解析 获取到需要的内容。
设置webview

webView.addJavascriptInterface(new Hand(), "handler");

在webview 的setWebViewClient 方法中重写 onPageFinished 方法

    @Override            public void onPageFinished(WebView view, String url) {                view.loadUrl("javascript:window.handler.getImageurl(document.body.innerHTML);");                mShareUrl=url;                super.onPageFinished(view, url);            }

点击webview的图片得到图片地址

直接代码

webView.setOnLongClickListener(new OnLongClickListener() {

        @SuppressLint("NewApi") @Override        public boolean onLongClick(View v) {            WebView.HitTestResult result=webView.getHitTestResult();             if (result != null) {                 int type = result.getType();                 if (type == WebView.HitTestResult.IMAGE_TYPE || type == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {                   String  imgurl = result.getExtra();                   Toast.makeText(activity, imgurl, Toast.LENGTH_SHORT).show();                   MyPopWinDow popWinDow=new MyPopWinDow(activity, MyPopWinDow.IMAGE_VIEW_POPUPWINDOW, 300, 350);                   popWinDow.showAtLocation(v, Gravity.CENTER, 0, 0);                 }             }             return true;        }    });
0 0
原创粉丝点击