1. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  1. private void screenshot()
  2. {
  3. // 获取屏幕
  4. View dView = getWindow().getDecorView();
  5. dView.setDrawingCacheEnabled(true);
  6. dView.buildDrawingCache();
  7. Bitmap bmp = dView.getDrawingCache();
  8. if (bmp != null)
  9. {
  10. try {
  11. // 获取内置SD卡路径
  12. String sdCardPath = Environment.getExternalStorageDirectory().getPath();
  13. // 图片文件路径
  14. String filePath = sdCardPath + File.separator + "screenshot.png";
  15.  
  16. File file = new File(filePath);
  17. FileOutputStream os = new FileOutputStream(file);
  18. bmp.compress(Bitmap.CompressFormat.PNG, 100, os);
  19. os.flush();
  20. os.close();
  21. } catch (Exception e) {
  22. }
  23. }
  24. }
  1. // 这里是截取状态栏
    @Override
  2. public boolean onCreateOptionsMenu(Menu menu) {
  3. // Inflate the menu; this adds items to the action bar if it is present.
  4. // getMenuInflater().inflate(R.menu.activity_main, menu);
  5. return true;
  6. }
  1. private void screenshot1(String Strname)
  2. {
  3. /**
  4. * Strname--如 2.png 需要带后缀
  5. * */
  6. // 获取屏幕
  7. View dView = getWindow().getDecorView();
  8. dView.setDrawingCacheEnabled(true);
  9. dView.buildDrawingCache();
  10. Bitmap bmp = dView.getDrawingCache();
  11. if (bmp != null)
  12. {
  13. try {
  14. // 获取内置SD卡路径
  15. String sdCardPath = Environment.getExternalStorageDirectory().getPath();
  16. // 图片文件路径
  17.  
  18. File filedir = new File(sdCardPath + File.separator + "AA"); // 这里的AA为创建的AA文件夹,在根目录下
  19. if (!filedir.exists()) {
  20. filedir.mkdirs();
  21. }
  22. File saveFile = new File(filedir, Strname); // aaaa.txt保存到AA文件夹下
  23. FileOutputStream outStream1 = new FileOutputStream(saveFile);
  24. System.out.println(outStream1.toString());
  25. ByteArrayOutputStream stream = new ByteArrayOutputStream();
  26. bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
  27. byte[] byteArray = stream.toByteArray();
  28. outStream1.write(byteArray);
  29. outStream1.close();
  30. Toast.makeText(Zhuye_Activity.this,"截图保存成功",Toast.LENGTH_SHORT).show();
  31. dView.setDrawingCacheEnabled(false); // 这里不设置false,那么下次截图还是上次的图片
  32. } catch (Exception e) {
  33. }
  34. }
  35. }

Android手机截屏方法的更多相关文章

  1. android手机截屏、录屏

    1. 手动截屏,通过其他第三方软件发送截图,或者从手机取出截图 2. 使用命令截图,将截图保存到手机,再拉取到电脑 #!/bin/sh #运行 sh screenshot name picName=$ ...

  2. Android手机截屏

    刚开始打算做一个简单的截屏程序时,以为很轻松就能搞定. 在Activity上放一个按钮,点击完成截屏操作,并将数据以图片形式保存在手机中. 动手之前,自然是看书和网上各种查资料.结果发现了解的知识越多 ...

  3. Android开发笔记:安卓程序截屏方法

    1,基于Android SDK的截屏方法 (1)主要就是利用SDK提供的View.getDrawingCache()方法.网上已经有很多的实例了.首先创建一个android project,然后进行L ...

  4. Android Multimedia框架总结(二十五)MediaProjection实现手机截屏(无须root)

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53966818 前言:一年半多以前 ...

  5. Android系统截屏的实现(附代码)

    1.背景                     写博客快两年了,写了100+的文章,最火的文章也是大家最关注的就是如何实现android系统截屏.其实我们google android_screen_ ...

  6. android后台截屏实现(2)--screencap源码修改

    首先找到screencap类在Android源码中的位置,/442/frameworks/base/cmds/screencap/screencap.cpp 源码如下: /* * Copyright ...

  7. Android 长截屏原理

    https://android-notes.github.io/2016/12/03/android%E9%95%BF%E6%88%AA%E5%B1%8F%E5%8E%9F%E7%90%86/   a ...

  8. IOS开发-几种截屏方法

    IOS开发-几种截屏方法 1.        UIGraphicsBeginImageContextWithOptions(pageView.page.bounds.size, YES, zoomSc ...

  9. iOS截屏方法

    //获取屏幕截屏方法 - (UIImage *)capture { // 创建一个context UIGraphicsBeginImageContextWithOptions(self.view.bo ...

随机推荐

  1. Python 字符串

    Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/py ...

  2. JS组件系列——Form表单验证神器: BootstrapValidator

    前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...

  3. web响应式图片设计实现

    .header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { t ...

  4. 前端数据可视化echarts.js使用指南

    一.开篇 首先这里要感谢一下我的公司,因为公司需求上面的新颖(奇葩)的需求,让我有幸可以学习到一些好玩有趣的前端技术,前端技术中好玩而且比较实用的我想应该要数前端的数据可视化这一方面,目前市面上的数据 ...

  5. ES6新特性:Javascript中内置的延迟对象Promise

    Promise的基本使用: 利用Promise是解决JS异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程: 通过new实例化Promise,  构造函数需要两个参数, 第一个参数为函 ...

  6. Java内存与垃圾回收调优

     Java(JVM)内存模型 正如你从上面的图片看到的,JVM内存被分成多个独立的部分.广泛地说,JVM堆内存被分为两部分——年轻代(Young Generation)和老年代(Old Generat ...

  7. Long Short-Term Memory (LSTM)公式简介

    Long short-term memory: make that short-term memory last for a long time. Paper Reference: A Critica ...

  8. Git------Win7系统使用TortoiseGit

    转载: https://my.oschina.net/longxuu/blog/141699?p=1 此步可以省略 1.点击TortoiseGit->PuTTygen 2.点击"Gen ...

  9. 如何学好JAVA编程

    我的思路:     1.我觉得先学学JSP,用纯JSP做个日记本简单的小系统,纯粹从语言层面上了解一些基   础知识,把tomcat玩熟了,就用记事本编就行,主要是熟悉,能够理解jsp运行机制.然   ...

  10. 浅谈系统架构<一>

    前言:博主刚刚从事于Web后端开发与学习不久,开发项目经验也是有限的.不过今天依旧将一些个人的想法记录下来,我的构想或许不太正确,还望各位大牛能给我多多建议. 首先:我们从编程开始讲起 博主是偏向于后 ...