Android:如何使用画布捕获当前的全屏

时间:2012-06-19 13:03:17

标签: android canvas screen

有人请帮我这个,我尝试在没有画布的情况下捕捉全屏,每次都会得到黑屏图像。我发现的另一件有趣的事情是,当我在手机上打开该图像并将其删除时,会出现另一个带有图像的屏幕。怎么回事我不知道因为我是Android应用程序开发的新手。

任何人都可以帮我找到解决方案吗?

1 个答案:

答案 0 :(得分:2)

在SO中快速搜索给了我这个已经接受的答案。你可能想看看它。 SO资料来源: Taking Screenshot

引用:

你可以这样做,

为您的主要版面设置ID&在屏幕上显示内容后,在一些Listener说按钮单击或菜单项或任何此类监听器上写下面的代码(确保在显示布局后调用这些行,否则它将给出一个空白屏幕)。

    View content = findViewById(R.id.myLayout);
    content.setDrawingCacheEnabled(true);
    getScreen(content);
    method getScreen(content)

    private void getScreen(View content)
        {
            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();
            }
        }

也不要添加将文件写入SDCard的权限。

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
                                                                   </uses-permission>