2011-05-09 7 views
16

Esto no debería ser una pregunta demasiado difícil. Quiero la capacidad de tomar una captura de pantalla de mi diseño (vista) y enviarla a través de sms. ¿Puede alguien caminarme por los escalones?Captura de pantalla de Android a través del código

Gracias!

Editar: Supongo que no tiene que ser una "captura de pantalla", siempre y cuando podamos obtener todos los píxeles renderizados de una vista de alguna manera.

+0

Es necesario ejecutar la búsqueda antes de preguntar al pregunta. Aquí está casi duplicado http://goo.gl/K9ezs – Bostone

+0

posible duplicado de [Captura de pantalla de la pantalla de Android y guardarla en la tarjeta SD] (http://stackoverflow.com/questions/5929403/take-screenshot-of-android- screen-and-save-to-sd-card) – MByD

Respuesta

23

Alrededor de la web encontré algunos fragmentos de código que pude obtener trabajando juntos.

Aquí es una solución que funciona bien:

Configuración de su diseño raíz:

View content = findViewById(R.id.layoutroot); 
content.setDrawingCacheEnabled(true); 

Función para obtener la vista renderizada:

private void getScreen() 
{ 
    View content = findViewById(R.id.layoutroot); 
    Bitmap bitmap = content.getDrawingCache(); 
    File file = new File("/sdcard/test.png"); 
    try 
    { 
     file.createNewFile(); 
     FileOutputStream ostream = new FileOutputStream(file); 
     bitmap.compress(CompressFormat.PNG, 100, ostream); 
     ostream.close(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 
+11

Recuerde agregar '' a su AndroidManifest y en lugar de hardcoding '/ sdcard /' use 'File file = new File (Environment.getExternalStorageDirectory() + "/test.png"); ' – Macarse

+1

@Peanut usé esta solución. test.png se crea en sdcard. pero en realidad la imagen no está creada, muestra 0kb. y obtengo la excepción del puntero nulo aquí "bitmap.compress (CompressFormat.PNG, 100, ostream);" – vnshetty

+1

Tengo la solución aquí gracias .. http://stackoverflow.com/questions/2339429/android-view-getdrawingcache-returns-null-only-null – vnshetty

Cuestiones relacionadas