我的问题类似于this question from a few years ago,但这个问题从来没有得到解答,我想知道自被问及以来是否有任何改变。
我想以编程方式捕获包含flash元素的webview的屏幕截图。当我尝试使用在线最广泛描述的方法(使用view.draw
和view.getDrawingCache
)时,不会捕获flash元素。我相信这与元素的软件与硬件渲染有关。如果我不在此基础上,请告诉我。
我实际上不需要在最终应用中执行此操作,只是在开发过程中,所以我会对某些adb hackery开放,但应用程序需要能够触发屏幕截图。
我真的很感激任何想法。
由于
答案 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)
答案 2 :(得分:0)
以下几行应该为你做好准备:)
browser.setDrawingCacheEnabled(true);
browser.buildDrawingCache();
Bitmap bitmap = browser.getDrawingCache();