¿Cómo tomar la captura de pantalla de la página de actividad ENTERO mediante programación?

¿Cómo puedo tomar una captura de pantalla de toda la actividad en Android, incluso si el contenido no es visible? Ex. Tomar una captura de pantalla de chat completo y luego generar un archivo de imagen?

Introduzca aquí la descripción de la imagen

Quiero el área invisible del screenshot también.

Gracias

3 Solutions collect form web for “¿Cómo tomar la captura de pantalla de la página de actividad ENTERO mediante programación?”

Una forma es extraer el mapa de bits de la pantalla actual y guardarlo. Prueba esto:

public void takeScreenshot(){ Bitmap bitmap = getScreenBitmap(); // Get the bitmap saveTheBitmap(bitmap); // Save it to the external storage device. } public Bitmap getScreenBitmap() { View v= findViewById(android.R.id.content).getRootView(); v.setDrawingCacheEnabled(true); v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight()); v.buildDrawingCache(true); Bitmap b = Bitmap.createBitmap(v.getDrawingCache()); v.setDrawingCacheEnabled(false); // clear drawing cache return b; } 

Android toma la captura de pantalla mediante programación

Esta es una forma de tomar "captura de pantalla" de una vista. No lo he probado para decir si funciona

 //View v is the root view/parent of your layout, for example LinearLayout or RelativeLayout (layout where you have placed content of which you want to take screenshot) private Bitmap getBitmapFromView(View v) { Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas (bitmap); v.draw(canvas); // Returns screenshot return bitmap; } 

Public class MainActivity extends Actividad {

 ImageView imageView = null; ScrollView sv = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sv = (ScrollView) findViewById(R.id.ssscrollView); imageView = (ImageView) findViewById(R.id.imgView); Button myBtn = (Button) findViewById(R.id.btn); myBtn.setOnClickListener(new View.OnClickListener() { @SuppressWarnings("deprecation") @Override public void onClick(View v) { View v1 = sv.getRootView(); v1.setDrawingCacheEnabled(true); Bitmap bm = getBitmapFromView(v1); @SuppressWarnings("deprecation") BitmapDrawable bitmapDrawable = new BitmapDrawable(bm); ImageView view2 = (ImageView) findViewById(R.id.imgView); view2.setBackgroundDrawable(bitmapDrawable); } }); } private Bitmap getBitmapFromView(View v) { Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); v.draw(canvas); return bitmap; } 

}

  • Estilo de botón de Android mediante programación
  • Programar un evento para ser ejecutado en el futuro (Cron Job la forma de Android)
  • ¿Cómo recuperar la instantánea del mapa de la actividad del selector de lugares?
  • ¿Cómo cambiar algún valor en el archivo .java de build.gradle?
  • Android Studio: opción de VM no reconocida 'MaxPermSize = 256m'
  • Facebook4j API: Búsqueda
  • Crear un JSONArray
  • JSONObject obtiene el valor del primer nodo independientemente del nombre
  • ¿Cómo puedo detectar mejor los diferentes colores LED con la cámara de un teléfono Android y OpenCV?
  • La imagen recortada está borrosa en android
  • ¿Cómo detectar si el discurso al texto está disponible en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.