0

我想在代码中截取我的应用程序的屏幕截图。首先,我需要获取当前视图,但getCurrentFocus()方法总是返回 null。我能做些什么?

4

1 回答 1

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;  
    }
于 2013-08-02T11:48:47.133 回答