4

Мой вопрос похож на this question from a few years ago, но этот вопрос никогда не отвечал, и я хотел бы узнать, изменилось ли что-либо с момента его запроса.Программный снимок экрана с веб-обзором с элементами флэш-памяти

Я хотел бы программно захватить снимок экрана веб-представления с элементами вспышки. Когда я пытаюсь использовать методы, которые наиболее широко описаны в Интернете (с использованием view.draw и view.getDrawingCache), элементы вспышки не захватываются. Я считаю, что это связано с программным обеспечением и аппаратным рендерингом элементов. Пожалуйста, дайте мне знать, если я не согласен с этим.

Мне действительно не нужно делать это в конечном приложении, только во время разработки, поэтому я был бы открыт для хакера adb, но приложение должно запускать скриншот.

Я бы очень признателен за любые идеи.

Благодаря

+0

может быть, этот комментарий может помочь вам: http://stackoverflow.com/a/9805831/4336354 –

+0

Вы хотите сделать это только для себя или вы хотите его для пользователей тоже? –

ответ

0

следующие строки должны вок для вас :)

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

Да, это то, что у меня есть. Статические части веб-страницы захватываются, флэш-часть - это просто черный квадрат. –

2

У вас есть права суперпользователя? Если да - вы можете напрямую прочитать графический буфер, обратившись к нему через/dev/graphics/fb0.

Here обсуждение, как это сделать с помощью adb.

Here это сообщение, как сделать это программно (вам нужно обернуть код с слоем JNI)

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