一种实现Android手机远程交互的控制方法及系统的制作方法

文档序号:7761102阅读:527来源:国知局
专利名称:一种实现Android手机远程交互的控制方法及系统的制作方法
技术领域
本发明涉及通信领域,更具体地说,涉及一种实现Android手机远程交互的控制方法及系统。
背景技术
目前,Android手机远程交互控制框架主要由三部分组成远程控制终端、远程控制代理和Android手机,如图1所示,为现有的Android手机远程交互的控制系统的框架图。其中,远程控制终端模拟Android手机的UI界面,透过远程控制代理实现与 Android手机的交互,即向Android手机下发输入事件(如按键事件、指针事件、轨迹球事件等),接收并显示从远程控制代理转发来的Android手机的截屏画面。远程控制代理一方面负责接收远程控制终端下发的输入事件,并通过USB向 Android手机转发输入事件,另一方面负责定时向Android手机下达截屏指令,并向远程控制终端转发从Android手机发出的截屏画面。Android手机一方面响应截屏指令,将截取到的屏幕画面传给远程控制代理,另一方面将收到的输入事件转换为Android的标准输入事件,插入到WindowManager的输入事件队列中。在上述框架下,将输入事件插入到WindowManager的输入事件队列需要用到 Android SDK框架提供的以下几个函数boolean injectKeyEvent(in KeyEvent ev, boolean sync);boolean injectPointerEvent(in MotionEvent ev, boolean sync);boolean injectTrackbalIEvent(in MotionEvent ev, boolean sync);但是,由于Android SDK框架提供的上述几个插入事件函数需要用到Android的系统签名,来将输入事件插入到WindowManager的输入事件队列中,若没有系统签名,则无法将输入事件插入到WindowManager的输入事件队列,也就无法实现交互控制的功能。然而,要获得系统签名证书并非易事,市面上Android手机众多,每一款手机的系统签名证书各不相同,要获得手机的系统签名证书必须找手机厂家逐个索取,出于产品安全的角度考虑,厂家并不一定愿意提供系统签名证书。因此,现有技术应用范围很有限,仅限于已破解了系统权限的Android手机和已获得了厂家系统签名证书的Android手机上。

发明内容
本发明要解决的技术问题在于,针对现有技术中现有的Android手机远程交互的控制系统只能用于已破解了系统权限和已获得了厂家系统签名证书的Android手机的缺陷,提供一种实现Android手机远程交互的控制方法及系统。本发明解决其技术问题所采用的技术方案之一是构造一种实现Android手机远程交互的控制方法,包括步骤向Android手机下发输入事件;接收下发的输入事件,并向Android手机转发该输入事件;将收到的输入事件插入到WindowManager的输入事件队列中;定时向Android手机下达截屏指令;响应截屏指令,并将截取到的屏幕画面上传;接收上传的屏幕画面,并向远程控制终端转发该截屏画面;接收并显示该截屏画面;其特征在于,所述将收到的输入事件插入到WindowManager的输入事件队列中的步骤中控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中。上述本发明所述的实现Android手机远程交互的控制方法,所述输入事件为键盘事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到 WindowManager的输入事件队列中的步骤包括收到键盘事件后,将键盘事件转换成Android手机键盘输入事件序列码,找到并打开支持该键盘输入事件序列码的设备,向该设备写入转换后的键盘输入事件序列码。上述本发明所述的实现Android手机远程交互的控制方法,所述输入事件为触屏事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到 WindowManager的输入事件队列中的步骤包括收到触屏事件后,将触屏事件转换成Android手机触屏输入事件序列码,找到并打开支持该触屏输入事件序列码的设备,向该设备写入转换后的触屏输入事件序列码。上述本发明所述的实现Android手机远程交互的控制方法,所述输入事件为轨迹球事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到 WindowManager的输入事件队列中的步骤包括收到轨迹球事件后,将轨迹球事件转换成Android手机轨迹球输入事件序列码, 找到并打开支持该轨迹球输入事件序列码的设备,向该设备写入转换后的轨迹球输入事件序列码。本发明解决其技术问题所采用的技术方案之二是构造一种实现Android手机远程交互的控制系统,包括远程控制终端向Android手机下发输入事件,接收并显示从远程控制代理转发来的Android手机的截屏画面;远程控制代理接收远程控制终端下发的输入事件且向Android手机转发该输入事件,并向远程控制终端转发从Android手机上传的截屏画面;所述远程控制终端或远程控制代理定时向Android手机下达截屏指令;Android手机响应截屏指令,并将截取到的屏幕画面上传给远程控制代理,另外,控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中。上述本发明所述的实现Android手机远程交互的控制系统,所述输入事件为键盘事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到 WindowManager的输入事件队列中的过程为所述Android收到键盘事件后,将键盘事件转换成Android手机键盘输入事件序列码,找到并打开支持该键盘输入事件序列码的设备,向该设备写入转换后的键盘输入事件序列码。上述本发明所述的实现Android手机远程交互的控制系统,所述输入事件为触屏事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到 WindowManager的输入事件队列中的步骤包括所述Android手机收到触屏事件后,将触屏事件转换成Android手机触屏输入事件序列码,找到并打开支持该触屏输入事件序列码的设备,向该设备写入转换后的触屏输入事件序列码。上述本发明所述的实现Android手机远程交互的控制系统,所述输入事件为轨迹球事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的步骤包括所述Android手机收到轨迹球事件后,将轨迹球事件转换成Android手机轨迹球输入事件序列码,找到并打开支持该轨迹球输入事件序列码的设备,向该设备写入转换后的轨迹球输入事件序列码。实施本发明的实现Android手机远程交互的控制方法及系统,具有以下有益效果第一,不需要厂家系统签名证书即可将输入事件(如键盘、触屏、轨迹球等)插入到WindowManager的事件输入队列中,达到模拟键盘输入、模拟触屏动作、模拟轨迹球滚动等的效果。第二,采用软件控制,兼容性好,可以覆盖Android各个版本的手机,可以覆盖 OMS(开放式操作系统,英文全称为Open Mobile System)各个版本的手机。


下面将结合附图及实施例对本发明作进一步说明,附图中图1为现有的Android手机远程交互的控制系统的框架图;图2是本发明实现Android手机远程交互的控制方法的第一实施例的流程图;图3是本发明实现Android手机远程交互的控制方法的第二实施例的流程图;图4是图2与图3中步骤S(13)的一实施例的流程图;图5是本发明实现Android手机远程交互的控制系统的框架图。
具体实施例方式如图2所示,是本发明实现Android手机远程交互的控制方法的第一实施例的流程图,本第一实施例中,该实现Android手机远程交互的控制方法分为两方面第一方面首先,向Android手机下发输入事件,如步骤S(Il)所示;接着,接收下发的输入事件,并向Android手机转发该输入事件,如步骤S(U)所示;然后,将收到的输入事件插入到WindowManager的输入事件队列中,如步骤S(13)所示。特别的,上述“将收到的输入事件插入到衍11(10 1^11恥吐的输入事件队列中”即步骤3(13)中,需控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列。第二方面首先,定时向Android手机下达截屏指令,如步骤W21)所示;接着,响应截屏指令,并将截取到的屏幕画面上传,如步骤“22)所示;接着,接收上传的屏幕画面并向远程控制终端转发该截屏画面,如步骤“23)所示;然后,接收并显示该截屏画面,如步骤S 03)所示。本第一实施例中,在步骤W21)中,由远程控制代理定时向Android手机下达截屏指令,可见,通过在远程控制代理上进行设置后,手机的屏幕画面将自动上传到远程控制终端。可见,本发明的实现Android手机远程交互的控制方法中,不需要厂家系统签名证书即可将输入事件(如键盘、触屏、轨迹球等)插入到WindowManager的事件输入队列中,达到模拟键盘输入、模拟触屏动作、模拟轨迹球滚动等的效果;另外,采用软件控制,兼容性好,可以覆盖Android各个版本的手机,可以覆盖OMS各个版本的手机。如图3所示,是本发明实现Android手机远程交互的控制方法的第二实施例的流程图,本第二实施例与图2所示的第一实施例的区别在于远程控制终端定时向Android手机下达截屏指令即步骤S (21),远程控制代理向Android手机转发该截屏指令即步骤S (A), 可见,通过在远程控制终端上进行设置后,手机的屏幕画面将自动上传到远程控制终端。如图4所示,是图2或图3中步骤S(13)的一实施例的流程图。本实施例以向 Android手机下发的输入事件为键盘事件为例进行阐述,所述“控制将收到的输入事件由 Android手机的相关输入设备插入到WindowManager的输入事件队列中”即步骤S (13)包括接收到键盘事件(如步骤S131所示),将键盘事件转换成Android手机键盘输入事件序列码(如步骤S132所示),找到并打开支持该键盘输入事件序列码的设备(如步骤 S133所示),向该设备写入转换后的键盘输入事件序列码(如步骤S134所示)。在步骤 S132中,转换得到的序列码的格式或形式与系统中原始的Android手机键盘输入事件序列码的格式或形式相同,于是,在步骤S133中,WindowManager将无法觉察到该序列码是伪造的,因此输入的键盘事件能够成功的插入到WindowManager输入事件队列中。由于打开键盘和通过键盘写数据不需要厂家系统签名证书,因此采用此技术方案可以绕过系统签名的问题,不需要厂家系统签名证书即可将键盘输入事件插入到WindowManager的事件输入队列中,达到模拟键盘输入的效果。在其它实施例中,当向Android手机下发的输入事件为触屏事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的步骤包括接收到触屏事件后,将触屏事件转换成Android手机触屏输入事件序列码,找到并打开支持该触屏输入事件序列码的设备,向该设备写入转换后的触屏输入事件序列码。 类似地,由于打开触摸屏(板)和通过触摸屏(板)写数据不需要厂家系统签名证书,因此采用此技术方案可以绕过系统签名的问题,不需要厂家系统签名证书即可将触屏输入事件插入到WindowManager的事件输入队列中,达到模拟触屏输入的效果。在其它实施例中,当向Android手机下发的输入事件为轨迹球事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的步骤包括接收到轨迹球事件后,将轨迹球事件转换成Android手机轨迹球输入事件序列码,找到并打开支持该轨迹球输入事件序列码的设备,向该设备写入转换后的轨迹球输入事件序列码。类似地,由于打开轨迹球和通过轨迹球写数据不需要厂家系统签名证书,因此采用此技术方案可以绕过系统签名的问题,不需要厂家系统签名证书即可将轨迹球输入事件插入到WindowManager的事件输入队列中,达到模拟轨迹球输入的效果。如图5所示,是本发明实现Android手机远程交互的控制系统的框架图。本发明的实现Android手机远程交互的控制系统包括远程控制终端、远程控制代理和Android手机。 其中,远程控制终端向Android手机下发输入事件,接收并显示从远程控制代理转发来的 Android手机的截屏画面;远程控制代理接收远程控制终端下发的输入事件且向Android 手机转发该输入事件,并向远程控制终端转发从Android手机上传的截屏画面;上述远程控制终端或远程控制代理定时向Android手机下达截屏指令;Android手机响应截屏指令, 并将截取到的屏幕画面上传给远程控制代理,另外,控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中。另外,远程控制终端远程控制终端具体地,远程控制终端执行图2中步骤S(Il)和步骤S04)或图3中步骤S(Il)、 步骤S 和步骤S 04)的具体操作,此处不再赘述;远程控制代理执行图2中步骤S (12)、 步骤S 和步骤S 03)或图3中步骤S (12)、步骤S (A)和步骤W23)的具体操作,此处不再赘述;Android手机执行图2和图3中步骤S (12和步骤S (22)的具体操作,且Android手机中的输入事件模块用于接收向Android手机下发的输入事件并判断该输入事件的种类, 上述此处不再赘述。所述输入事件为键盘事件时,所述Android手机控制将收到的输入事件由 Android手机的相关输入设备插入到WindowManager的输入事件队列中的过程为所述 Android收到键盘事件后,将键盘事件转换成Android手机键盘输入事件序列码,找到并打开支持该键盘输入事件序列码的设备,向该设备写入转换后的键盘输入事件序列码。其具体过程与图3中步骤S(U)的执行流程相同,此处不再赘述。在其它实施例中,所述输入事件为触屏事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的过程为所述Android手机收到触屏事件后,将触屏事件转换成Android手机触屏输入事件序列码,找到并打开支持该触屏输入事件序列码的设备,向该设备写入转换后的触屏输入事件序列码。在其它实施例中,所述输入事件为轨迹球事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的过程为所述Android手机收到轨迹球事件后,将轨迹球事件转换成Android手机轨迹球输入事件序列码,找到并打开支持该轨迹球输入事件序列码的设备,向该设备写入转换后的轨迹球输入事件序列码。本发明中,所谓输入事件,是指键盘、轨迹球、触屏等设备执行操作时所产生的计算机可处理的信息,该信息代表相应的操作动作。
另外,本方案均外采用软件控制,兼容性好,可以覆盖Android各个版本的手机, 可以覆盖OMS (开放式操作系统,英文全称为Open Mobile System)各个版本的手机。综上,由于打开键盘和通过键盘写数据、打开触摸屏(板)和通过触摸屏(板)写数据、打开轨迹球和通过轨迹球写数据等各种形式均不需要厂家系统签名证书,因此采用此技术方案可以绕过系统签名的问题,不需要厂家系统签名证书即可将上述输入事件插入到WindowManager的事件输入队列中,达到模拟键盘、触摸屏(板)、轨迹球等的效果。本发明中,所述输入事件,指用户的输入动作(包括按键盘、点击触摸屏、拖动触摸屏、滚动轨迹球输入等)引发的用于计算机处理的信号。本发明中,所述远程控制终端,指有计算能力,可以进行图象处理和通信处理的计算机,可以为普通PC机、服务器,甚至为智能手机。所述远程控制代理,是负责完成远程控制终端和Android手机之间的通讯中转的交换设备。所述Android手机,是指以Google Android作为操作系统的智能手机。总之,本发明实现Android手机远程交互的控制方法及系统中,不需要厂家系统签名证书即可将输入事件(如键盘、触屏、轨迹球等)插入到WindowManager的事件输入队列中,达到模拟键盘输入、模拟触屏动作、模拟轨迹球滚动等的效果;另外采用软件控制,兼容性好,可以覆盖Android各个版本的手机,可以覆盖OMS (开放式操作系统,英文全称为 Open Mobi IeSystem)各个版本的手机。以上所述仅为本发明的实施例,并不用以限制本发明,凡在本发明的精神和原则内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围内。
9
权利要求
1.一种实现Android手机远程交互的控制方法,包括步骤 向Android手机下发输入事件;接收下发的输入事件,并向Android手机转发该输入事件; 将收到的输入事件插入到WindowManager的输入事件队列中; 定时向Android手机下达截屏指令; 响应截屏指令,并将截取到的屏幕画面上传; 接收上传的屏幕画面,并向远程控制终端转发该截屏画面; 接收并显示该截屏画面;其特征在于,所述将收到的输入事件插入到WindowManager的输入事件队列中的步骤中,控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中。
2.根据权利要求1所述的实现Android手机远程交互的控制方法,其特征在于,所述输入事件为键盘事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到 WindowManager的输入事件队列中的步骤包括收到键盘事件后,将键盘事件转换成Android手机键盘输入事件序列码,找到并打开支持该键盘输入事件序列码的设备,向该设备写入转换后的键盘输入事件序列码。
3.根据权利要求1所述的实现Android手机远程交互的控制方法,其特征在于,所述输入事件为触屏事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到 WindowManager的输入事件队列中的步骤包括收到触屏事件后,将触屏事件转换成Android手机触屏输入事件序列码,找到并打开支持该触屏输入事件序列码的设备,向该设备写入转换后的触屏输入事件序列码。
4.根据权利要求1所述的实现Android手机远程交互的控制方法,其特征在于,所述输入事件为轨迹球事件时,所述控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的步骤包括收到轨迹球事件后,将轨迹球事件转换成Android手机轨迹球输入事件序列码,找到并打开支持该轨迹球输入事件序列码的设备,向该设备写入转换后的轨迹球输入事件序列码。
5.一种实现Android手机远程交互的控制系统,包括远程控制终端向Android手机下发输入事件,接收并显示从远程控制代理转发来的 Android手机的截屏画面;远程控制代理接收远程控制终端下发的输入事件且向Android手机转发该输入事件,并向远程控制终端转发从Android手机上传的截屏画面;所述远程控制终端或远程控制代理定时向Android手机下达截屏指令; 其特征在于,还包括Android手机响应截屏指令,并将截取到的屏幕画面上传给远程控制代理,另外,控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中。
6.根据权利要求5所述的实现Android手机远程交互的控制系统,其特征在于,所述输入事件为键盘事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的过程为所述Android收到键盘事件后,将键盘事件转换成Android手机键盘输入事件序列码, 找到并打开支持该键盘输入事件序列码的设备,向该设备写入转换后的键盘输入事件序列码。
7.根据权利要求5所述的实现Android手机远程交互的控制系统,其特征在于,所述输入事件为触屏事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的步骤包括所述Android手机收到触屏事件后,将触屏事件转换成Android手机触屏输入事件序列码,找到并打开支持该触屏输入事件序列码的设备,向该设备写入转换后的触屏输入事件序列码。
8.根据权利要求5所述的实现Android手机远程交互的控制系统,其特征在于,所述输入事件为轨迹球事件时,所述Android手机控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中的步骤包括所述Android手机收到轨迹球事件后,将轨迹球事件转换成Android手机轨迹球输入事件序列码,找到并打开支持该轨迹球输入事件序列码的设备,向该设备写入转换后的轨迹球输入事件序列码。
全文摘要
本发明涉及一种实现Android手机远程交互的控制方法及系统,该方法包括步骤向Android手机下发输入事件;接收下发的输入事件并向Android手机转发该输入事件;控制将收到的输入事件由Android手机的相关输入设备插入到WindowManager的输入事件队列中;定时向Android手机下达截屏指令;响应截屏指令并将截取到的屏幕画面上传;接收上传的屏幕画面并向远程控制终端转发该截屏画面;接收并显示该截屏画面。本发明中,不需要厂家系统签名证书即可将输入事件(如键盘、触屏、轨迹球等)插入到WindowManager的事件输入队列中,达到模拟键盘输入、模拟触屏动作、模拟轨迹球滚动等的效果。
文档编号H04L29/08GK102438029SQ201010296659
公开日2012年5月2日 申请日期2010年9月29日 优先权日2010年9月29日
发明者刘华友 申请人:卓望数码技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1