Android获取屏幕截图的三种方法
本着博客不重复造车的原则,只谈下自己思路总结,只是提纲具体实现自行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获取屏幕截图的三种方法相关推荐
- Android获取网络图片的三种方法
在做项目中,获取网络数据是一件很常见的事情,各类数据在服务器端或直接print,或封以实体类扔进List转换为json,由客户端使用HttpClient的execute()方法接收,以完成数据交互的过 ...
- android系统通过图片绝对路径获取URI的三种方法
老马的技术博客 android系统通过图片绝对路径获取URI的三种方法 最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在 android 4.1. ...
- java 不知道类名_Java 中获取类名的三种方法,你知道几种?
之前我们分享过Java高级篇--深入浅出Java类加载机制这篇文章,今天来带你了解获取类名的三种方法. 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里 ...
- UG\NX二次开发 获取相切面的三种方法
文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: UG\NX二次开发 获取相切面的三种方法 方法1: 使用NX Open C++ 的面 ...
- php获取另一个网页内容,php获取网页内容的三种方法
本文介绍下,php实现获取网页内容的三种方法,有需要的朋友,参考下吧. 用php代码实现获取网页的原理: 将抓取内容,通过正则表达式过滤,得到想要的内容. 关于正则表达式的内容,程序员之家介绍了很多, ...
- android 动画方式,Android Activity进出动画三种方法
Android Activity进出动画三种方法 实现activity的进出场动画总共有3种方式,下面会一一列出,首先给出示例的动画xml文件. 动画的xml文件 android:fromYDelta ...
- python截图黑屏_对Python获取屏幕截图的4种方法详解
Python获取电脑截图有多种方式,具体如下: PIL中的ImageGrab模块 windows API PyQt pyautogui PIL中的ImageGrab模块 import time imp ...
- java 获取时间戳 的三种方法
java 获取时间戳 的三种方法,效率依次递减 方法一 : System.currentTimeMillis(); 方法二: new Date().getTime(); 方法三: Calendar.g ...
- java 取名字_Java 中获取类名的三种方法,你知道几种?
之前我们分享过Java高级篇--深入浅出Java类加载机制这篇文章,今天来带你了解获取类名的三种方法. 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName()返回的是虚拟机里面 ...
最新文章
- 【社工】NodeJS 应用仓库钓鱼
- dns短域名会引起nslookup解析总解析到一个IP
- 安装完Arch后,要安装的软件
- mavonEditor 有序无序列表不能显示数字和小原点的问题
- how to switch between python3.5 and python3.6
- php mysql插入多个列_php mysql插入多条记录
- 【ABAP系列】SAP ABAP中关于commit的一点解释
- c#抽取pdf文档标题(1)
- 北京内推 | 启元世界招聘虚拟人算法工程师/实习生
- 魏德米勒端子eplan宏_Weidmüller Configurator 魏德米勒端子配置软件
- 中国工商银行计算机专业笔试内容,中国工商银行的笔试一般考什么内容?
- 初学Python——协程
- 在python中get是什么意思_python get函数有什么作用?示例解析
- 微信公众平台服务器的官方示例代码,微信公众平台API接口(示例代码)
- 郁闷的时候看下,心情也许会好一些(转自CSDN)
- GPRS模块的使用(一)
- 3.3 自动驾驶的安全结构(第三章 自动驾驶汽车的安全保障)
- 不懂用户,怎么做新媒体运营
- ROS18.04 解决:[gazebo_gui-3] process has died
- canal 学习笔记