gpt4 book ai didi

java - 使用screencap截屏时出现0字节文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:03 25 4
gpt4 key购买 nike

我在捕获未 root 手机的屏幕时遇到问题。

我在我的电脑上试过这个命令:

adb shell /system/bin/screencap -p /sdcard/out.png

这很有效。

但是,每当我尝试在我的应用程序中使用此命令时,如下所示:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

String[] str ={"/system/bin/screencap","-p","/sdcard/out.png"};

try {
Process ps = Runtime.getRuntime().exec(str);
try {
ps.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
Toast.makeText(this, ""+e, Toast.LENGTH_LONG).show(); }


}

我总是得到 0 字节的 out.png。我认为源代码上没有错误,但我不明白为什么会出现这种错误。

请帮我解决这个问题。

谢谢。

最佳答案

在 logcat 中搜索类似的东西

perrmission failure: android.permission.READ_FRAME_BUFFER from uid=10113 pid=2934 113 PermissionCache D checking android.permission.READ_FRAME_BUFFER for uid=10113 => denied (294 us) 113 SurfaceFlinger E Permission Denial: can't read framebuffer pid=2934, uid=10113

如果出现该错误,则表示存在权限问题。

即使您添加了 READ_FRAME_BUFFER 权限,它仍然无法正常工作。通常,这意味着应用程序没有读取帧缓冲区的权限,必须使用系统证书进行编译或使用 su 获取 root 权限。

关于java - 使用screencap截屏时出现0字节文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12024006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com