sto prendendo screenshot, come di seguito:Prendere screenshot di programmazione di tutto lo schermo
public static Bitmap takeScreenshot(Activity activity) {
View view = activity.getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();
Rect rect = new Rect();
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
int statusBarHeight = rect.top;
int width = activity.getWindowManager().getDefaultDisplay().getWidth();
int height = activity.getWindowManager().getDefaultDisplay().getHeight();
Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, statusBarHeight, width,
height - statusBarHeight);
view.destroyDrawingCache();
return bitmap2;
}
Ma c'è un EditText nel mio layout. Lo clicco e la tastiera si apre, ma lo screenshot non contiene tastiera in questo modo. Come posso prendere lo screenshot a livello di programmazione anche quale può anche catturare la tastiera?
tastiera non fa parte del layout dell'applicazione. stai scattando la schermata del tuo layout (vista). la tastiera non fa parte del tuo layout. ecco perché non lo vedi – Raghunandan
Lo so. Qualche idea su come prendere screenshot per l'intero schermo del telefono? – lseeo
prova la risposta qui sotto ma se stai provando sul dispositivo devi fare il root dello stesso. che non è giusto, non puoi chiedere agli utenti di rootare il loro dispositivo. Potresti provare a creare la tua tastiera personalizzata nella tua applicazione. quindi utilizzare il precedente per prendere screenshot – Raghunandan