我想在代码中截取我的应用的截图。首先,我需要获取当前视图,但方法 getCurrentFocus()始终返回null。我该怎么办?
答案 0 :(得分:0)
请注意,您只能截取您在视图中显示的内容的屏幕截图,而不能将其当作屏幕上显示的其他活动或应用。
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;
}