拦截 shouldInterceptRequest 使用本地图片代替资源
public class TestWebViewActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_web_activity_layout);
webView = findViewById(R.id.web_view);
webView.setWebViewClient(new WebViewClient() {
@Nullable
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
Log.i("qinxue", "shouldInterceptRequest url = " + request.getUrl());
if (request.getUrl().toString().contains("utouch.png")) {
try {
InputStream localCopy = getAssets().open("ic_launcher.png");
WebResourceResponse response = new WebResourceResponse("image/png", "UTF-8", localCopy);
return response;
} catch (IOException e) {
e.printStackTrace();
Log.i("qinxue", "e: " + e);
}
}
return super.shouldInterceptRequest(view, request);
}
});
webView.loadUrl("https://www.baidu.com/");
}
}