adb shell screencap -p 截屏在代码里调用生成图片无法打开

Crane023 2017-06-01 03:19:29
我在Service里,点击截屏button时,用如下方式进行截屏:

String cmd = "screencap -p " + strFileFullPath;
LogUtil.d(TAG, "takeScreenshotByShell cmd: %s", cmd);
try {
File fileFolder = new File(CACHED_IMAGE_DIR);
if (!fileFolder.exists()) {
fileFolder.mkdirs();
}
process = Runtime.getRuntime().exec(cmd);
//......
}

log打出来:takeScreenshotByShell cmd: screencap -p /sdcard/MediaCenter/images/scr_1496225214295.png
然后在 相应的目录下,也的确有了scr_1496225214295.png这个文件。
问题是: 这个文件是损坏的,无法打开。

然后我在ubuntu 终端:
$adb shell
$screencap -p /sdcard/MediaCenter/images/scr_1496225214296.png
直接copy过来的命令,生成的scr_1496225214296.png文件就是正常的图片文件,可打开。

请教各位神仙,这个怎么破?
...全文
5104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
madreain 2021-07-16
  • 打赏
  • 举报
回复

需要su权限,或者root

Non-satisfied 2018-08-21
  • 打赏
  • 举报
回复
https://blog.csdn.net/a584751805/article/details/81910979 看是不是同一个问题
wutongyu344 2018-04-10
  • 打赏
  • 举报
回复
有答案了吗?
qq_27930265 2018-02-22
  • 打赏
  • 举报
回复
引用 3 楼 Crane023 的回复:
引用 2 楼 winsonx 的回复:
运行命令需要权限的
求大神详解
解决了吗
致繁至简 2017-07-27
  • 打赏
  • 举报
回复
运行命令需要权限的
Crane023 2017-07-27
  • 打赏
  • 举报
回复
顶起一点点,求大神赐教。
Crane023 2017-07-27
  • 打赏
  • 举报
回复
引用 2 楼 winsonx 的回复:
运行命令需要权限的
求大神详解

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧