从其他Android设备远程查看Android设备

时间:2014-06-10 08:56:34

标签: android vnc

我想创建一个简单的(?)系统,其中Android“主”平板电脑可以随时连接到另一个“奴隶”Android平板电脑,并从字面上显示奴隶的屏幕(镜像它的UI)。例如,父母希望看到他的孩子在平板电脑上做了什么。

假设平板电脑连接到同一个局域网,因此无需访问互联网。

我已经研究过android-vnc-server和android-vnc-viewer但它们似乎并不是我想要的。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道确切的答案,我只是想在这里定义一种方法: - 因此,在基于VNC的应用程序中,您所做的是,获取设备的屏幕截图并将该屏幕截图发送到另一台设备进行显示,但整个过程进行得很快。 现在出于安全原因,在非根植的Android手机中,你无法捕获其他应用的屏幕截图,但如果您的手机已解锁/ root,那么您可以运行shell命令来捕获手机图像:

adb shell screencap

用法: -

adb shell screencap -h
usage: screencap [-hp] [FILENAME]
   -h: this message
   -p: save the file as a png.
If FILENAME ends with .png it will be saved as a png.
If FILENAME is not given, the results will be printed to stdout.

现在你只需创建一个java进程并在其中执行该命令,打开该进程的标准输入流并将该文件作为字节读取,并将此字节发送到其他设备以重建并显示该图像。

因此配方将涉及:
1。后续服务将继续捕获图像,

2.执行shell命令的过程

3.数据结构保存从进程输入流中读取的字节和

。通过网络传输这些值的程序。

执行shell命令: -

 Process suProcess = Runtime.getRuntime().exec("su screencap");
 DataInputStream inputStream = new DataInputStream(suProcess.getInputStream());

使用此inputStream读取结果,通过网络保存并传输此结果!!