Android 在后台服务中打开 WebView 并捕获屏幕截图

标签 android service background webview hidden

我正在尝试从后台服务打开 WebView 中的 URL,然后截取隐藏的 WebView 的屏幕截图。

有趣的是,它不起作用!这可能吗?一些代码 fragment :

webView.setVisibility(View.INVISIBLE);
...
final Picture picture = webView.capturePicture();
final Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas c = new Canvas(b);
picture.draw(c);
....

谢谢

最佳答案

看我的问题Android: take a 'screenshot' of a web page from a background service?

例如,您必须从 webview 的绘图缓存中获取您的位图。

mWebView.setDrawingCacheEnabled(true);
Bitmap b = mWebView.getDrawingCache();

您还必须设置 WebView 的“大小”,使其不是 0 x 0 大小。

关于Android 在后台服务中打开 WebView 并捕获屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16584282/

相关文章:

objective-c - 如何在 Objective-C 中等待线程完成

android - 在AndroidPlot中获取点的正确位置

android - 在 React Native 上设置 Android BroadcastReceiver

android - 在 android 云 : 中备份数据库

c# - .Net 的目录服务抛出一个奇怪的异常

javascript - meteor : Cordova 和网站的不同(铁)路线

Delphi - 文本打印在黑色背景上

键盘输入嗅探QT后台进程

android - 如何使用 For 循环在 android 中获取多个 EditText 值

android - 如何以编程方式在android中创建视频