本着博客不重复造车的原则,只谈下自己思路总结,只是提纲具体实现自行Google(另外吐槽一下baidu的搜索机制太特么挫了,对于时间最新文档的权值太低)

1、DecorView获取当前应用的截图

通过decorView.getDrawingCache()来实现。不需要title栏和statusbar的可直接获取到相关高度剪裁。可能会有些webview会截取不到,具体依情况。

2、FrameBuffer

这种方法呢是通过linux底层驱动来实现截屏的,linux的图像信息都是通过frameBuffer来写到显示设备上的,所以可以通过读取这个buffer的信息来获取屏幕截图,DDMS也是通过这种方式来获取截图的。FrameBuffer对应的设备文件目录是/dev/graphics/fb0。不过呢,这种方法只适用于root的设备,由于是直接从底层显示数据读取的,所以理论上是属于手机屏幕的任何信息都可以截取到。

3、MediaProjection API

这个方法是Android 5.0后推出的方法,该接口官方说是用来屏幕录制和音频录制,可以参照系统自带的sample案例ScreenCapture。关于sample的分析可参照这篇http://www.cnblogs.com/tgyf/p/4675082.html

这种方法恁可以不用root,api是开放的,不过只针对L版以上。实现上的部分流程也是和下面第4点的方法是一个流程。

4、Android系统截图的实现

http://blog.csdn.net/kong92917/article/details/50495740

Android获取屏幕截图的三种方法相关推荐

  1. Android获取网络图片的三种方法

    在做项目中,获取网络数据是一件很常见的事情,各类数据在服务器端或直接print,或封以实体类扔进List转换为json,由客户端使用HttpClient的execute()方法接收,以完成数据交互的过 ...

  2. android系统通过图片绝对路径获取URI的三种方法

    老马的技术博客 android系统通过图片绝对路径获取URI的三种方法 最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在 android 4.1. ...

  3. java 不知道类名_Java 中获取类名的三种方法,你知道几种?

    之前我们分享过Java高级篇--深入浅出Java类加载机制这篇文章,今天来带你了解获取类名的三种方法. 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里 ...

  4. UG\NX二次开发 获取相切面的三种方法

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: UG\NX二次开发 获取相切面的三种方法 方法1: 使用NX Open C++ 的面 ...

  5. php获取另一个网页内容,php获取网页内容的三种方法

    本文介绍下,php实现获取网页内容的三种方法,有需要的朋友,参考下吧. 用php代码实现获取网页的原理: 将抓取内容,通过正则表达式过滤,得到想要的内容. 关于正则表达式的内容,程序员之家介绍了很多, ...

  6. android 动画方式,Android Activity进出动画三种方法

    Android Activity进出动画三种方法 实现activity的进出场动画总共有3种方式,下面会一一列出,首先给出示例的动画xml文件. 动画的xml文件 android:fromYDelta ...

  7. python截图黑屏_对Python获取屏幕截图的4种方法详解

    Python获取电脑截图有多种方式,具体如下: PIL中的ImageGrab模块 windows API PyQt pyautogui PIL中的ImageGrab模块 import time imp ...

  8. java 获取时间戳 的三种方法

    java 获取时间戳 的三种方法,效率依次递减 方法一 : System.currentTimeMillis(); 方法二: new Date().getTime(); 方法三: Calendar.g ...

  9. java 取名字_Java 中获取类名的三种方法,你知道几种?

    之前我们分享过Java高级篇--深入浅出Java类加载机制这篇文章,今天来带你了解获取类名的三种方法. 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName()返回的是虚拟机里面 ...

最新文章

  1. 【社工】NodeJS 应用仓库钓鱼
  2. dns短域名会引起nslookup解析总解析到一个IP
  3. 安装完Arch后,要安装的软件
  4. mavonEditor 有序无序列表不能显示数字和小原点的问题
  5. how to switch between python3.5 and python3.6
  6. php mysql插入多个列_php mysql插入多条记录
  7. 【ABAP系列】SAP ABAP中关于commit的一点解释
  8. c#抽取pdf文档标题(1)
  9. 北京内推 | 启元世界招聘虚拟人算法工程师/实习生
  10. 魏德米勒端子eplan宏_Weidmüller Configurator 魏德米勒端子配置软件
  11. 中国工商银行计算机专业笔试内容,中国工商银行的笔试一般考什么内容?
  12. 初学Python——协程
  13. 在python中get是什么意思_python get函数有什么作用?示例解析
  14. 微信公众平台服务器的官方示例代码,微信公众平台API接口(示例代码)
  15. 郁闷的时候看下,心情也许会好一些(转自CSDN)
  16. GPRS模块的使用(一)
  17. 3.3 自动驾驶的安全结构(第三章 自动驾驶汽车的安全保障)
  18. 不懂用户,怎么做新媒体运营
  19. ROS18.04 解决:[gazebo_gui-3] process has died
  20. canal 学习笔记

热门文章

  1. ES2019 新特性简介
  2. scroll事件详解
  3. 绝不破例!苹果发出最强硬威胁:要全面封杀 Epic Games
  4. (实验6,实验7)单片机,STM32F4学习笔记,代码讲解【看门狗实验】【正点原子】【原创】
  5. 使用最大逆向匹配进行提槽
  6. 华为HMS游戏排行榜请求报错HTTP 502
  7. 内衣蕾丝面料的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. 引用了一个不可用的位置 如何删除这样的目录?
  9. c语言求最大公约数(c语言求最大公约数和最小公倍数代码)
  10. 王子健荣获2019年度十大自媒体作者称号,写作对人有多大帮助?