webView放弃capture()截图的替代方法

           

float scale = webView.getScale();
height = (int) (webView.getContentHeight() * scale + 0.5);
bitmap = Bitmap.createBitmap(webView.getWidth(), height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
webView.draw(canvas);

之后使用 IO 将bitmap存到sd卡即可

若不想使用过期方法webView.getScale() , 可以直接读取设备的dpr代替。

注意:Android OS 5.0 以上的设备,如果是在activity里有webView,
需要调用一个静态方法:WebView.enableSlowWholeDocumentDraw();

不然,webView.draw(canvas) 只能截取到可视区域的内容
原文地址:https://www.cnblogs.com/robben/p/6770646.html