当前诸多电视盒都提供了
手机端的远程遥控软件,如乐视的多屏看看等,那如果我们拥有一部android手机和一块android
开发板(或者电视盒),我们也可轻松开发出一款远程遥控软件,因为主要的技术点仅仅以下两点而已:
1)Client端(android手机)Socket广播搜寻Server端(android开发板),获取Server端IP地址;
Client端使用socket 7777(端口号自行选用,不冲突即可)广播"is_remoteService ?"

进入循环等待Server端回复,获取Server端IP地址

Server端使用socket 7777接收"is_remoteService ?",然后获取IP地址并回复mDeviceName给Client端

2)将Client端的虚拟按键事件转化成简单字符串用socket发送至Sever端,Server端解析字符串获得按键事件,并使用injec
tinputEvent方法向android上层上报按键事件;
Client 发起端口号9999的TCP连接

连接成功后即可使用m9999Out发送命令字符串

Server端用端口号9999 accept TCP连接

ReadThread中使用mIn阻塞接收Client端的命令字符串并解析

将解析的指令转成KeyEvent 注入系统即完成整个遥控流程!

笔者用三星的GT-I9308手机实际效果如下图:

当扫描到设备列表如笔者的firefly开发板"rk3288"后,点击“rk3288”即会有“已链接设备*.*.*.*”提示,然后点击“左”“右”按钮即可看到开发板有相应的响应!
原作者:lynn3653