Android通过代码截图

Android通过代码截图,android,sms,screenshot,Android,Sms,Screenshot,这应该不是一个太难的问题。我希望能够采取我的布局(视图)截图,并通过短信发送它。有人能陪我走过台阶吗 谢谢 编辑: 我想这不一定是一个“屏幕截图”,只要我们能以某种方式从一个视图中获得所有渲染的像素。在网络上,我找到了一些我能够一起工作的代码片段 以下是一个行之有效的解决方案: 设置根目录布局: View content = findViewById(R.id.layoutroot); content.setDrawingCacheEnabled(true); 函数以获取渲染视图: priva

这应该不是一个太难的问题。我希望能够采取我的布局(视图)截图,并通过短信发送它。有人能陪我走过台阶吗

谢谢

编辑:
我想这不一定是一个“屏幕截图”,只要我们能以某种方式从一个视图中获得所有渲染的像素。

在网络上,我找到了一些我能够一起工作的代码片段

以下是一个行之有效的解决方案:

设置根目录布局:

View content = findViewById(R.id.layoutroot);
content.setDrawingCacheEnabled(true);
函数以获取渲染视图:

private void getScreen()
{
    View content = findViewById(R.id.layoutroot);
    Bitmap bitmap = content.getDrawingCache();
    File file = new File("/sdcard/test.png");
    try 
    {
        file.createNewFile();
        FileOutputStream ostream = new FileOutputStream(file);
        bitmap.compress(CompressFormat.PNG, 100, ostream);
        ostream.close();
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}

在提问之前,您需要运行搜索。这里是几乎完全相同的副本,请记住将
添加到AndroidManifest中,而不是硬编码
/sdcard/
使用
文件File=new文件(Environment.getExternalStorageDirectory()+“/test.png”)@我使用了这个解决方案。test.png是在sdcard中创建的。但实际上,图像并不是创建的,它显示的是0kb。我在这里得到了空指针异常“bitmap.compress(CompressFormat.PNG,100,ostream);”在这里得到了解决方案,谢谢。。