活动的缩略图表示

时间:2018-01-30 10:23:25

标签: android

我想要一个顶级活动的缩略图表示。由于ActivityManager.RunningTaskInfo.thumbnail始终根据documentation返回null。那么有没有其他方法可以得到它?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下内容:

  1. 获取最顶层Bitmap视图的Activity屏幕截图 (android.R.id.content)使用图纸缓存。
  2. 将活动屏幕截图缩放到所需的缩略图大小。
  3. 当然,您应该可以访问Window

    public Bitmap getScreenThumbnail(int width, int height) {
    
        // grab the window view
        View windowView = getWindow().getDecorView().findViewById(android.R.id.content);
        // grab the topmost view
        View screenView = windowView.getRootView();
    
        // fetch view as a bitmap
        screenView.setDrawingCacheEnabled(true);
        Bitmap screenBitmap = Bitmap.createBitmap(screenView.getDrawingCache());
        screenView.setDrawingCacheEnabled(false);
    
        // resize to desired thumbnail size
        return Bitmap.createScaledBitmap(screenBitmap, width, height, false);
    }
    

    当然,您可以跳过调整大小部分并返回完整的screenBitmap