一种Android无线跨设备的手势控制方法与流程

xiaoxiao4天前  12


本发明涉及信息处理领域,特别涉及一种android无线跨设备的手势控制方法。


背景技术:

1、随着移动互联网和前端的不断发展,以及一些超级app的小程序化模式的成熟,移动端出现了大量的前端技术,导致移动开发提出了很多跨平台的开发框架,比如flutter,react native,uniapp等。在一次编写,到处运行的理念不断普及的当下,对于应用的兼容性和稳定性提出了更大的挑战。在现有成熟的开发流程中,对于如何提高跨平台的兼容性和稳定性离不开测试的人员的测试,因此,提高跨端技术的兼容性和稳定性功能测试验收效率,是整个跨端技术真正提高效率和落地的重要节点之一;市面上出现了一些一机多控方案,单基本上都存在一些局限性,比如需要root,不支持无线,缺少跨平台支持等。


技术实现思路

1、本发明的目的在于,提供一种android无线跨设备的手势控制方法。本发明可以通过无线传输的方式对多个从机端进行指令的下发,且以adb指令进行传输,可直接应用于android系统层,从而提升兼容性。

2、本发明的技术方案:一种android无线跨设备的手势控制方法,包括主机端、服务端和从机端;所述主机端用于采集用户手势并通过网络通信传输至服务端;所述服务端用于获取主机端信息并转换为adb指令,通过双向传输的网络通信连接至从机端;所述从机端依据从服务端获取的adb指令执行对应操作

3、上述的android无线跨设备的手势控制方法中,所述采集用户手势的过程按下述步骤进行:

4、步骤s1:在主机端注册全局的activity生命周期监听器,实时获取到主机端当前应用程序中各个activity的状态变化;

5、步骤s2:将activity生命周期监听器的activity.mwindow的callback回调替换为委托模式;

6、步骤s3:通过gesturedetector拦截activity的手势事件,在回调中获取motionevent,将其转化为wda协议格。

7、前述的android无线跨设备的手势控制方法中,所述步骤s3的转化过程按下述步骤进行:

8、步骤s3.1:从motionevent的根节点view开始,通过广度优先搜索遍历所有子节点;

9、步骤s3.2:找到命中的子节点view,并获取该view的坐标;

10、步骤s3.3:将坐标、view宽高和事件时间封装为wda协议格式。

11、前述的android无线跨设备的手势控制方法中,所述服务端的adb指令转换过程按下述步骤进行:

12、步骤a1:获取宽高分辨率和设备dpi在内的主机端设备信息,依据从机端的设备信息将手势信息等比转换并映射;

13、步骤a2:将转化并映射后的手势信息组装为adb shell开头的字符串格式。

14、前述的android无线跨设备的手势控制方法中,所述主机端与服务端之间通过http协议进行数据传输。

15、前述的android无线跨设备的手势控制方法中,所述服务端与从机端之间通过socket进行通信连接。

16、前述的android无线跨设备的手势控制方法中,所述从机端接收adb指令后与本地的adb daemon进程建立socket连接,通过tcp协议进行通信以实现adb指令的下发。

17、前述的android无线跨设备的手势控制方法中,所述从机端上运行前台服务,前台服务用于在后台进行adb指令接收以及socket连接。

18、前述的android无线跨设备的手势控制方法中,所述从机端的执行过程按下述步骤进行:

19、步骤b1:通过正则规则截取adb指令的字符串,将adb指令拆分成指令类型和指令参数;

20、步骤b2:将指令类型和指令参数重新封装后通过adb daemon进程执行对应的输入操作。

21、与现有技术相比,本发明具有以下有益效果:

22、本发明主机端采集用户手势并通过网络通信传输至服务端,服务端获取主机端信息后转换为adb指令,依靠网络通信发送至从机端,从机端获取adb指令后执行对应操作;建立中间服务端从而实现一对多的手势下发,且均依靠无线通信传输,避免了有线操作的局限性,同时依靠服务端转换为adb指令应用,adb指令属于android系统层服务,可直接下发至从机端内核层中,通过android的input底层驱动直接写入指令,再由框架层通知到应用层,从而兼容到小程序,h5,webview等非原生的页面,兼容性强。



技术特征:

1.一种android无线跨设备的手势控制方法,其特征在于:包括主机端、服务端和从机端;所述主机端用于采集用户手势并通过网络通信传输至服务端;所述服务端用于获取主机端信息并转换为adb指令,通过双向传输的网络通信连接至从机端;所述从机端依据从服务端获取的adb指令执行对应操作。

2.根据权利要求1所述的android无线跨设备的手势控制方法,其特征在于:所述采集用户手势的过程按下述步骤进行:

3.根据权利要求2所述的android无线跨设备的手势控制方法,其特征在于:所述步骤s3的转化过程按下述步骤进行:

4.根据权利要求1所述的android无线跨设备的手势控制方法,其特征在于:所述服务端的adb指令转换过程按下述步骤进行:

5.根据权利要求1所述的android无线跨设备的手势控制方法,其特征在于:所述主机端与服务端之间通过http协议进行数据传输。

6.根据权利要求1所述的android无线跨设备的手势控制方法,其特征在于:所述服务端与从机端之间通过socket进行通信连接。

7.根据权利要求4所述的android无线跨设备的手势控制方法,其特征在于:所述从机端接收adb指令后与本地的adb daemon进程建立socket连接,通过tcp协议进行通信以实现adb指令的下发。

8.根据权利要求5所述的android无线跨设备的手势控制方法,其特征在于:所述从机端上运行前台服务,前台服务用于在后台进行adb指令接收以及socket连接。

9.根据权利要求4所述的android无线跨设备的手势控制方法,其特征在于:所述从机端的执行过程按下述步骤进行:


技术总结
本发明公开了一种Android无线跨设备的手势控制方法,包括主机端、服务端和从机端;所述主机端用于采集用户手势并通过网络通信传输至服务端;所述服务端用于获取主机端信息并转换为adb指令,通过双向传输的网络通信连接至从机端;所述从机端依据从服务端获取的adb指令执行对应操作;本发明可以通过无线传输的方式对多个从机端进行指令的下发,且以adb指令进行传输,可直接应用于Android系统层,从而提升兼容性。

技术研发人员:张峰
受保护的技术使用者:杭州弧途科技有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)