Android实现屏幕截图并保存截图到指定文件
Android 实现屏幕截图并保存截图到指定文件 Android 实现屏幕截图并保存截图到指定文件是 Android 开发中的一种常见需求。通过使用 Android 的 Graphics 和 IO 操作,可以轻松地实现屏幕截图并将其保存到指定的文件中。在本文中,我们将详细介绍如何实现 Android 屏幕截图并保存截图到指定文件。 一、添加权限 在 Android 中,想要实现屏幕截图并保存截图到指定文件,需要添加 WRITE_EXTERNAL_STORAGE 权限。可以在 AndroidManifest.xml 文件中添加以下代码: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ``` 二、实现屏幕截图 要实现屏幕截图,需要使用 Android 的 Graphics 模块。可以使用以下代码来实现屏幕截图: ```java public Bitmap screenShot(Activity activity) { View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); Bitmap bitmap = view.getDrawingCache(); return bitmap; } ``` 这个方法将当前 Activity 的视图转换为 Bitmap 对象。 三、保存截图到文件 要保存截图到文件,需要使用 Java 的 IO 操作。可以使用以下代码来实现: ```java public boolean save(Bitmap src, File file, Bitmap.CompressFormat format, boolean recycle) { if (isEmptyBitmap(src)) { return false; } OutputStream os = null; try { os = new FileOutputStream(file); src.compress(format, 100, os); os.close(); return true; } catch (Exception e) { e.printStackTrace(); return false; } finally { if (recycle && !src.isRecycled()) { src.recycle(); } } } ``` 这个方法将 Bitmap 对象保存到指定的文件中。 四、完整代码 以下是完整的代码: ```java public class JavaActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.drawable_activity); AppCompatActivity activity = this; findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "zhangphil.jpg"); Bitmap bitmap = screenShot(activity); try { if (!file.exists()) { file.createNewFile(); } boolean ret = save(bitmap, file, Bitmap.CompressFormat.JPEG, true); if (ret) { Toast.makeText(getApplicationContext(), "截图已保持至 " + file.getAbsolutePath(), Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } } }); } public Bitmap screenShot(Activity activity) { View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); Bitmap bitmap = view.getDrawingCache(); return bitmap; } public boolean save(Bitmap src, File file, Bitmap.CompressFormat format, boolean recycle) { if (isEmptyBitmap(src)) { return false; } OutputStream os = null; try { os = new FileOutputStream(file); src.compress(format, 100, os); os.close(); return true; } catch (Exception e) { e.printStackTrace(); return false; } finally { if (recycle && !src.isRecycled()) { src.recycle(); } } } } ``` 这个代码将实现屏幕截图并将其保存到指定的文件中。 五、结论 Android 实现屏幕截图并保存截图到指定文件是一种常见的需求。本文中,我们详细介绍了如何实现屏幕截图并保存截图到指定文件。通过使用 Android 的 Graphics 和 IO 操作,可以轻松地实现屏幕截图并将其保存到指定的文件中。




















- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 无线远程视频监控系统方案.doc
- 项目管理的要素.doc
- 月19日机组热态启动送轴封抽真空总结.docx
- 地埋管换热系统施工方案f.doc
- 第一章--实验一--研究匀变速直线运动.ppt
- 电气自动化混合液大学本科方案设计书完整免费版3.doc
- 秋娃娃的礼物(美术).doc
- 钢索配管、配线.doc
- 某工程单层钢结构安装施工工艺.doc
- 在Excel工作表中插入内置页眉和页脚.doc
- 21、项目管理机构资格认证书办件流程图.doc
- [山东]电力工程站内临建道路工程施工方案.doc
- 大口径玻璃钢夹砂管顶管施工的接头技术p.doc
- 公开招标管理办法.doc
- 造价员年底工作总结范本(直接套用).doc
- AutoCAD规划图库管理系统设计方案与实现.doc


