我想截取WebView中显示的页面的屏幕截图。该页面包含flash元素 - 这就是问题所在。当我截取屏幕截图时,页面的所有闪光部分都是空白的。
我正在使用这段代码截取屏幕截图:
WebView webView = (WebView) findViewById(R.id.webview);
Picture picture = webView.capturePicture();
Bitmap screenshot = Bitmap.createBitmap(picture.getWidth(),
picture.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(screenshot);
picture.draw(c);
File file = new File("/sdcard/screenshot.jpg");
FileOutputStream ostream = null;
try {
file.createNewFile();
ostream = new FileOutputStream(file);
screenshot.compress(CompressFormat.JPEG, 90, ostream);
Log.d("Test", "Screenshot taken");
} catch (Exception e) {
Log.e("Test", "Error", e);
} finally {
try {
ostream.close();
} catch (IOException ignore) {
}
}
我还尝试使用this SO question中提供的解决方案获取Bitmap
屏幕内容:
View webView = findViewById(R.id.webview);
Bitmap bitmap = webView.getDrawingCache();
这也不起作用 - 结果是相同的(即空白闪光元素)。
所以问题是:如何使用flash元素拍摄WebView内容的屏幕截图?