Android屏幕截图应用程序-空指针异常



我正在尝试测试代码,以便在android模拟器上进行屏幕截图。我有以下代码开始:

    View content = ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0);
    content.setDrawingCacheEnabled(true);
    Bitmap bitmap = Bitmap.createBitmap(content.getDrawingCache());
    content.setDrawingCacheEnabled(false);

但我在第551行的createBitmap中得到了空指针异常。

有人能指出我做错了什么吗。

我认为您的问题可能来自您的View内容:

View content = ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0);

您是尝试删除getChildAt(0)还是用getRootView()替换它?

另外,如果可以帮助你的话,有一个很好的网站有一个示例(第一个论坛页面上的最后一篇文章):

用编码捕获屏幕

如果你找到了解决方法,请告诉我。

在某些情况下,必须使用MeasureSpec。试试这个:

View content = ((ViewGroup)findViewById(android.R.id.content));
content.setDrawingCacheEnabled(true);
content.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
content.layout(0, 0, content.getMeasuredWidth(), content.getMeasuredHeight());
content.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(content.getDrawingCache());

最新更新