首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Java代码在Android上捕捉屏幕快照

使用Java代码在Android上捕捉屏幕快照
EN

Stack Overflow用户
提问于 2012-07-11 10:14:49
回答 1查看 22.2K关注 0票数 2

可能重复: Screenshot Android

我希望通过编程来捕捉屏幕截图(而不是我视图的屏幕截图),并创建了一个应用程序来获取我的视图的屏幕截图。

我试图通过使用Java代码来捕捉设备屏幕截图(就像用户选择任何图像文件一样)(我想要创建服务,从服务中我们可以拍照,但我不知道如何实现这一点)。

我发现了一些使用框架缓冲区fb0的本地代码,但我对此非常熟悉,也不知道如何使用它。

EN

回答 1

Stack Overflow用户

发布于 2012-07-11 10:21:16

下面是一个解决方案,可以将屏幕截图写入sd卡。

设置根布局:

代码语言:javascript
运行
复制
View content = findViewById(R.id.layoutroot);
content.setDrawingCacheEnabled(true);

函数以获取呈现的视图:

代码语言:javascript
运行
复制
private void getScreen()
{
    View content = findViewById(R.id.layoutroot);
    Bitmap bitmap = content.getDrawingCache();
    File file = new File( Environment.getExternalStorageDirectory() + "/test.png");
    try 
    {
        file.createNewFile();
        FileOutputStream ostream = new FileOutputStream(file);
        bitmap.compress(CompressFormat.PNG, 100, ostream);
        ostream.close();
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}

记住要加上

代码语言:javascript
运行
复制
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

敬你的AndroidManifest。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11430418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档