3

所以我有这段代码可以在有根设备上的任何屏幕上截屏,但似乎不起作用!我的设备是2.3.7 android版本,不知道能不能用screencap这个条款。如果我可以使用它,我是否必须下载任何 c 或 cpp 文件?

Process sh = Runtime.getRuntime().exec("su", null,null);
OutputStream  os = sh.getOutputStream();
os.write(("/system/bin/screencap -p " + Environment.getExternalStorageDirectory()+ "/img.png").getBytes("ASCII"));
os.flush();
os.close();
sh.waitFor()

我仍然添加了这个检查目录代码来检查是否截取了屏幕截图:

File f = new File(Environment.getExternalStorageDirectory()+ "/img.png");
            if(f.isDirectory() && f.isDirectory()) {
                Toast.makeText(getApplicationContext(), "Screenshot taked", 0).show();
            }else{
                Toast.makeText(getApplicationContext(), "Screenshot not taked", 0).show();
            }
4

1 回答 1

0

使用根资源管理器,我去了System/bin目录,文件screencap不存在,所以我假设这个 android 版本(2.3.7)不支持 screencap

于 2013-07-20T17:53:19.963 回答