Android手机截图代码(针对root设备,可截取任意屏幕)

针对已root的设备,下面的代码可以截取任意屏幕,上代码:

	/**
	 * 手机截图
	 * @return 返回截图的路径
	 */
	public static String getScreenshot(){
		Process process = null;
		String filePath = "mnt/sdcard/" + System.currentTimeMillis() + ".png";
    	try {
			process = Runtime.getRuntime().exec("su");
			PrintStream outputStream = null;
			outputStream = new PrintStream(new BufferedOutputStream(process.getOutputStream(), 8192));
			outputStream.println("screencap -p " + filePath);
			outputStream.flush();
			outputStream.close();
			process.waitFor();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if(process != null){
		        process.destroy();
		    }
		}
    	return filePath;
	}
代码原理就是使用screencap命令,如果你还不会使用screencap命令,请在命令行中测试一下该命令的用法,操作如下:

打开cmd,输入adb shell,进入设备的shell环境中,如下图所示:

在shell环境中,我们就可以使用screencap命令了,主要用法是 screencap -p [文件保存路径],这里我们输入如下:


然后我们去手机的sd卡中,可以看到有一个test.jpg文件:


将这个文件导出后可以看到,这个文件就是我们截取手机屏幕的图片,如下:


可以看到screencap命令成功截取了手机屏幕,需要注意的是,执行上面的代码的前提是手机已root,如果不知道怎么在代码中请求root权限,可以看这篇博文:

http://blog.csdn.net/yubo_725/article/details/41801191

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yubo_725

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值