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(); 
  • WebView "intermitente" con fondo blanco si la aceleración de hardware está habilitada (Android 3.0+)
  • Android Force GPU Rendering ¿Cómo habilitar y deshabilitar?
  • ¿Cómo utilizar la nueva GPU acelerado avd?
  • Conseguir que los codificadores QualComm funcionen a través de la API de MediaCodec
  • VideoView no se muestra en un fragmento
  • ¿Por qué llamar a setScaleX durante el gesto de pinch zoom causa parpadeo?
  • Aceleración de hardware para Android Studio no funciona
  • Trabaje alrededor de Canvas.clipPath () que ya no es compatible con android
  • Problema en OpenGLRenderer: ruta de acceso demasiado grande para que se preste a una textura
  • Tamaño de fuente demasiado grande para caber en caché
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.