手机互相操控的思路

手机相互操控的思路

  这几天正在研究android设备相互操控的问题 ,因为我们想要将手机变成一个游戏控制器。通过手机,操控智能电视里面的所有游戏(目前只实现了通过手机操控电视)。

  需要先做一个安卓手机之间相互操控的demo ,来验证技术方便的可行性。

  查了一些资料,现将自己的想法整理出来。没做实现,仅供参考。

  设备操控需要考虑一下几个问题:

  1)设备链接要求稳定,不丢包

  2)链接方式足够简单

  基于以上两个考虑,公司放弃了使用蓝牙。因为蓝牙链接需要搜索和配对设备,这需要漫长的等待。而对于智能电视来说,可能没有蓝牙模块。权衡利弊,最终敲定使用Wifi作为数据交换的通道。

  无论使用蓝牙也好,wifi也好,无非是一个数据交换的方式。但是设备的相互控制无论如何也绕不开权限这一关,我的目的就是想在不请求系统Root权限的前提下,如何去控制设备。


   方案一:

  这个方案来解决相互操控的问题,但是通信的数据是基于蓝牙传输的。可以来参考它的操控实现方式。这款应用叫做  Tablet Remote ,谷歌商店可以下载。

  Tablet Remote可以实现两台手机之间的相互控制,如下图。

 手机互相操控的思路

  但是控制仅限于系统按键,比如回退,主页,菜单。该应用虽然有一个游戏控制界面,但经过测试,不能控制另外一台手机上的游戏。

  个人觉得已经很牛逼了,完全没有敏感权限,到底是如何做到的呢。本着学习的精神,将其反编译后发现,该应用做了一个类似输入法的程序,通过取代系统输入法实现对系统的操控(具体细节待研究)。

 

  方案二:

  这个方案来解决Wifi 以及按键的发送问题。这个应用叫做  RemoteDroid ,它可以将手机化身为无线鼠标,可以控制PC鼠标的左键,右键,滚轮以及简单的文字输入,基本是我们想要的功能。 PC端需要安装服务端才可以,兼容Win平台,Linux,和Mac 。如图

手机互相操控的思路

  既然兼容Linux平台,那么两台Android设备之间的控制,应该不是问题,重要的是我们需要对它的服务端进行改造。

  这款应用使用了开源框架Java OSC,来处理Socket通信。  服务端和客户端源码均可以拿到,大家自己去反编译吧。

 

  方案一解决了手机相互操控问题,方案二解决了手机通信问题。不知道能不能将这个两个结合起来,实现两台手机通过wifi相互操控的问题。进一步研究中……

  

   原文链接:http://www.67tgb.com/?p=493

   欢迎访问:望月听涛

1楼lfmilaoshi3天前 23:43
继续研究了。。。米老师