Android WebView图片查看

1、在WebViewClient的onPageFinished里面调用如下方法

private void addImageClickListener(WebView webView) {
        webView.loadUrl("javascript:(function(){" +
                "var objs = document.getElementsByTagName(\"img\"); " +
                "var imgsxx = new Array(objs.length);" +
                "for(var i=0;i<objs.length;i++)  " +
                "{"
                + "    imgsxx[i]=objs[i].src;"
                + "     var position=i;"
                + "    objs[i].onclick=function()  " +
                "    {  "
                + "        window.imageListener.open(imgsxx,this.src);  " +//通过js代码找到标签为img的代码块,设置点击的监听方法与本地的openImage方法进行连接
                "    }  " +
                "}" +
                "})()");
    }

2、定义JS交互接口MJavascriptInterface

public class MJavascriptInterface {

    private Activity mActivity;

    public MJavascriptInterface(Activity activity) {
        mActivity = activity;
    }


    /**
     *
     * @param imgs
     * @param img
     */
    @android.webkit.JavascriptInterface
    public void open(final String[] imgs, final String img) {

    }

}

3、WebView设置

WebSettings webSettings = getSettings();
        webSettings.setUserAgentString(webSettings.getUserAgentString());
        webSettings.setJavaScriptEnabled(true); // 设置webview支持JavaScript
        addJavascriptInterface(new MJavascriptInterface((Activity) getContext()), "imageListener");
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);




猜你喜欢

转载自blog.csdn.net/wangzhen19900908/article/details/80229557