Captura de pantalla programática de una webview con elementos flash

Mi pregunta es similar a esta pregunta de hace unos años, pero esa pregunta nunca fue contestada y me gustaría saber si algo ha cambiado desde que se le preguntó.

Me gustaría capturar de forma programática una captura de pantalla de una webview con elementos flash. Cuando intento usar los métodos que se describen más ampliamente en línea (usando view.draw y view.getDrawingCache ), los elementos flash no se capturan. Creo que esto tiene que ver con el software vs renderizado de hardware de los elementos. Por favor, hágamelo saber si estoy fuera de base en esto.

En realidad no necesito hacer esto en la aplicación final, sólo durante el desarrollo, por lo que estaría abierto a algunos hackers adb, pero la aplicación debe ser capaz de activar la captura de pantalla.

Realmente agradecería cualquier idea.

Gracias

3 Solutions collect form web for “Captura de pantalla programática de una webview con elementos flash”

¿Tiene permisos de root? Si es así, puede leer el buffer gráfico directamente, accediendo a él a través de / dev / graphics / fb0.

Aquí está una discusión cómo hacerlo vía adb.

Aquí está un mensaje cómo hacerlo programáticamente (necesitará envolver el código con la capa de JNI)

No he probado este enfoque, pero teóricamente hablando no se puede utilizar la reflexión para obtener un control de la

 com.android.systemui.screenshot.GlobalScreenshot void takeScreenshot(Runnable finisher, boolean statusBarVisible, boolean navBarVisible) 

Para ver este código 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

Las siguientes líneas deberían wok para usted 🙂

 browser.setDrawingCacheEnabled(true); browser.buildDrawingCache(); Bitmap bitmap = browser.getDrawingCache(); 
  • VideoView no se muestra en un fragmento
  • Tamaño de fuente demasiado grande para caber en caché
  • Android - drawline con aceleración de hardware y antialiasing causa artefactos
  • ¿Por qué llamar a setScaleX durante el gesto de pinch zoom causa parpadeo?
  • Android aceleración de hardware TextureView con lockCanvas ()
  • Conseguir que los codificadores QualComm funcionen a través de la API de MediaCodec
  • Comportamiento extraño de `drawTextOnPath ()` con aceleración de hardware
  • Transiciones de páginas lentas en Android con aceleración de hardware en
  • WebView "intermitente" con fondo blanco si la aceleración de hardware está habilitada (Android 3.0+)
  • Perforar un agujero en una superposición de rectángulo con aceleración HW activada en Ver
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.