android webview讀取本地相冊時“Not allowed to load local resource”

不廢話,按照以下操作即可

//重寫shouldInterceptRequest
 webView.setWebViewClient(new WebViewClient() {
                @Override
                public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest webResourceRequest) {
                    FileInputStream input;
                    String url = "";
                    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
                        url = webResourceRequest.getUrl().toString();
                    }
                    String key = "http://androidimg";
                    if (url.contains(key)) {
                        String imgPath = url.replace(key, "");
                        try {
                            input = new FileInputStream(new File(imgPath.trim()));
                            WebResourceResponse response = new WebResourceResponse("image/jpg", "UTF-8", input);
                            return response;
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        }
                    }
                    return super.shouldInterceptRequest(view, webResourceRequest);
                }
            });
	//js代碼
	let img = document.getElementById("img");
	function onAcceptPhoto(imgUrl) {
	//imgUrl = android本地圖片路徑
		let androidImgKey = "http://androidimg";
		img.src = androidImgKey + imgUrl;
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章