各位大牛好,
我用华为手机荣耀4A,android 5.1,接入电脑后,使用adb shell命令 screencap -p mnt/sdcard/Zpic/Test1.png 进行截图时,如果不以SU超级用户登录,状态是$,可以正常截到图片,但我以su超级用户登录后,此时变成ROOT状态下的手机,再用此命令截图时就是空白,大小只显示3.58KB.如下两图:
我在JAVA里面用代码执行时用SU以ROOT状态截取图片,得到的也只是3.58KB大小的图片,打开时只有空白,代码如下:
public void getScreenshot(){
Process process = null;
String filePath = "mnt/sdcard/Zpic/" + System.currentTimeMillis() + ".txt";
try {
process = Runtime.getRuntime().exec("su");
PrintStream outputStream;
outputStream = new PrintStream(new BufferedOutputStream(process.getOutputStream(), 8193));
outputStream.println("screencap -p " + filePath);
outputStream.flush();
outputStream.close();
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
} finally {
if(process != null){
process.destroy();
}
}
}
我想以ROOT状态时也能截到正常的图片,或在代码中用此命令截到正常的图片, 请各位大神指点一二,谢谢!