有人请帮我这个,我尝试在没有画布的情况下捕捉全屏,每次都会得到黑屏图像。我发现的另一件有趣的事情是,当我在手机上打开该图像并将其删除时,会出现另一个带有图像的屏幕。怎么回事我不知道因为我是Android应用程序开发的新手。
任何人都可以帮我找到解决方案吗?
答案 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>