String commend = "screencap";
Process p = Runtime.getRuntime().exec("su");
DataOutputStream dos = new DataOutputStream(p.getOutputStream());
DataInputStream dis = new DataInputStream(p.getInputStream());
dos.writeBytes(commend + "\n");
dos.flush();
dos.writeBytes("exit\n");
dos.flush();
//I/System.out: ������������������ÿÿÿ
System.out.println(dis.readLine());
byte[] b=new byte[1000000];
//b is empty
dis.read(b);
p.waitFor();
这是我的代码。我想获取当前屏幕的图像,为什么 readLine 会返回,但我无法获取二进制图像数据?我需要给图像加水印,所以不能使用 screencap -p 来提高效率。