美文网首页
Android截屏

Android截屏

作者: 寒夜潇凌 | 来源:发表于2018-01-26 15:52 被阅读0次

1、android 5.0开始加入了MediaProjection,通过MediaProjection我们可以快速的实现截屏、录制功能

2、android 4.3有一个类android.view.SurfaceControl,这个类有一个隐藏的方法:pubic static Bitmap screenshot(int width,int height);通过该方法我们可以轻松截取到当前屏幕显示的内容,通过反射即可调用该方法

3、android 4.0到4.2,screenshot方法则是放在android.view.Surface类中,该方法同样是隐藏的,所以需要通过反射才能调用

4、android中有一个文件:/dev/graphics/fb0,该文件为当前屏幕内容的缓存,我们可以通过该文件来获取当前屏幕的内容,但是需要注意几点

    a、需要root权限

                以下是已经root的设备获取root权限的代码

    b、读取fb0的数据需要再manifast中声明READ_AFRAME_BUFFER权限

    c、需要将当前应用声明为系统应用

            要将自己的app声明为系统app的话挺麻烦的,第一需要在manifast中添加sharedUserId,第二要为apk添加系统签名,至于系统签名文件自己去百度找一个吧

    d、完成以上操作,在读取fb0的数据时出现FileNotFoundException则需要将fb0 chomd到777账号下(具体操作我也不懂,是系统工程师帮我弄的)

    e、读取到文件流之后需要将其转化为图片,在这里需要注意设备的颜色位深,有的是3位有的是4位,还有就是转换的时候是argb还是bgra顺序

                    获取系统屏幕位深,我使用的设备屏幕位深为4,位深为3的可以自行去百度,其中要注意的是Bitmap.Config.ARGB_8888,如果位深为3的话应该使用RGB_565。

    f、当你以上全部弄好之后,有可能发现截出来的图片只有标题栏和低栏,中间的部分要么全白,要么全黑。那么恭喜你,我到这里就已经放弃了这个方法。

相关文章

  • android 截屏实现

    Android 截屏分为四种:View 截屏、WebView 截屏、系统截屏 和 adb 截屏 1、View 截屏...

  • Android 截屏方式整理

    Android 实现截屏方式整理 可能的需求: 截自己的屏 截所有的屏 带导航栏截屏 不带导航栏截屏 截屏并编辑选...

  • 安卓截图笔记

    Android截屏 Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后...

  • Android截屏方案

    Android截屏 Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后...

  • 基于MediaProjection实现Android移动手机截屏

    Android软件应用经常要求实现截屏和录屏的功能,那么如何实现Android软件截屏和录屏功能呢?本文将介绍基于...

  • ScreenShotUtils--Android实现截屏并保存在

    添加权限(AndroidManifest.xml文件里) 实现截屏(Java代码) 转自Android实现截屏并保...

  • Android之防截屏

    Android防截屏是防止泄密的措施之一,防截屏的措施有两种,一种是禁止截屏,另一种是监听用户是否截屏,这样就知道...

  • Android截屏

    1、android 5.0开始加入了MediaProjection,通过MediaProjection我们可以快速...

  • android 截屏

  • Android 截屏

    1.截屏 Android的View类中提供了获取控件绘制缓存的方法,这种截屏的方式仅限于应用内自己的Activit...

网友评论

      本文标题:Android截屏

      本文链接:https://www.haomeiwen.com/subject/gfqwaxtx.html