博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android-屏幕设备截屏
阅读量:5079 次
发布时间:2019-06-12

本文共 991 字,大约阅读时间需要 3 分钟。

转载请注明: 

今天,公司一个项目在进行中,遇到了屏幕取词的难题,对问题分步处理,首先得解决如何截取设备的屏幕,鉴于Android设备是基于Linux内核的,因此试着找到Android截图命令ScreenCap,在Android4.0的源码中找到:

 

其中ScreenCap是基于C++编写的,Screenshot是基于C编写的。这里使用ScreenCap.先进入手机的shell模式,进入命令行:adb shell screencap -h,获得打印信息

usage: screencap [-hp] [-d display-id] [FILENAME]  -h: this message  -p: save the file as a png.  -d: specify the display id to capture, default 0.If FILENAME ends with .png it will be saved as a png.If FILENAME is not given, the results will be printed to stdout.

  

然后我们使用Java代码完成屏幕截取:
            Process sh = Runtime.getRuntime().exec("su", null,null);                    OutputStream  os = sh.getOutputStream();                    os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));              //在运行时使用shell命令完成截屏操作                    os.flush();                    os.close();                    sh.waitFor();
 

 至此截屏文件(img.png)就被保存到了sd卡的根目录下了.时间仓促,整个过程叙述的不尽详细,只为记录今日所得。

 

  

 

转载于:https://www.cnblogs.com/frank-zouxu/p/4158159.html

你可能感兴趣的文章
Docker 遇到的一些错误
查看>>
使用Servlet+JDBC 开发java web应用
查看>>
2014-5-20 摇摇车现在已经是思杨的完美座驾了
查看>>
jboss启动问题
查看>>
jquery 操作select
查看>>
Python 文件操作
查看>>
遍历迭代器和遍历列表
查看>>
JAVA面试笔记
查看>>
Installing Fonts programatically C#
查看>>
Matlab从入门到精通 Chapter5 数据可视化--
查看>>
Python 数据清洗--处理Nan
查看>>
WPF中的Binding技巧(二)
查看>>
Java_基础—多线程之间的通信以及JDK1.5新特性互斥锁
查看>>
SSIS从理论到实战,再到应用(1)----创建自己的第一个包
查看>>
[模仿]html5游戏_兔子踩铃铛
查看>>
[转]Ubuntu系统中AMD/ATI显卡查看温度、频率及超频
查看>>
实现一个简单的栈(底层链表)
查看>>
Silverlight 5 RC新特性探索系列:13.Silverlight 5 RC 新增对并行任务库(TPL)的支持
查看>>
springMVC、mybatis实现的登录页面(maven)
查看>>
greendao操作数据库的使用方法
查看>>