带有flash元素的webview的程序化屏幕截图

时间:2015-04-07 03:54:11

标签: android android-webview screenshot ddms hardware-acceleration

我的问题类似于this question from a few years ago,但这个问题从来没有得到解答,我想知道自被问及以来是否有任何改变。

我想以编程方式捕获包含flash元素的webview的屏幕截图。当我尝试使用在线最广泛描述的方法(使用view.drawview.getDrawingCache)时,不会捕获flash元素。我相信这与元素的软件与硬件渲染有关。如果我不在此基础上,请告诉我。

我实际上不需要在最终应用中执行此操作,只是在开发过程中,所以我会对某些adb hackery开放,但应用程序需要能够触发屏幕截图。

我真的很感激任何想法。

由于

3 个答案:

答案 0 :(得分:2)

你有root权限吗?如果是 - 您可以直接读取图形缓冲区,通过/ dev / graphics / fb0访问它。

Here是如何通过adb进行讨论的。

Here是一个如何以编程方式完成的帖子(你需要用JNI层包装代码)

答案 1 :(得分:1)

我没有尝试过这种方法,但从理论上讲,你不能用反射来理解

com.android.systemui.screenshot.GlobalScreenshot

void takeScreenshot(Runnable finisher, boolean statusBarVisible, boolean navBarVisible)

查看此代码 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.0_r1/com/android/systemui/screenshot/GlobalScreenshot.java#GlobalScreenshot.takeScreenshot%28java.lang.Runnable%2Cboolean%2Cboolean%29

答案 2 :(得分:0)

以下几行应该为你做好准备:)

browser.setDrawingCacheEnabled(true);
   browser.buildDrawingCache();
   Bitmap bitmap = browser.getDrawingCache();