CN110488971B - 一种安卓系统体感应用交互实现方法及系统 - Google Patents
一种安卓系统体感应用交互实现方法及系统 Download PDFInfo
- Publication number
- CN110488971B CN110488971B CN201910639510.6A CN201910639510A CN110488971B CN 110488971 B CN110488971 B CN 110488971B CN 201910639510 A CN201910639510 A CN 201910639510A CN 110488971 B CN110488971 B CN 110488971B
- Authority
- CN
- China
- Prior art keywords
- somatosensory
- application
- interactive
- android
- window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Abstract
本发明涉及一种安卓系统体感应用交互实现方法及系统,方法包括:启动安卓系统,启动体感设备,检测并生成用户体感状态和手部空间坐标;安卓应用被启动时,为此安卓应用注册界面活动生命周期回调接口,当应用窗口启动时,注册当前启动的窗口;检测应用窗口中的可交互UI组件,生成可交互UI组件集合;使用用户体感状态和手部空间坐标对可交互UI组件集合中的元素进行判定,经过系统匹配,得到可交互UI组件和要执行的交互命令;根据可交互UI组件和要执行的交互命令,调用对应的安卓接口进行事件触发。本发明从系统层面支持了应用的体感操控,能够明显的降低体感应用的开发成本,提高体感应用生态的应用数量,并使用户获得一致的体感交互体验。
Description
技术领域
本发明属于智能电视安卓应用领域,具体而言,涉及一种安卓系统体感应用交互实现方法及系统。
背景技术
当前市场上已经有相当多的体感设备,越来越多的智能电视厂商以及安卓应用开发者也发布了各具特色的体感交互应用,这些应用为广大用户增加了新的娱乐方式,也带给安卓应用生态不同的发展方向。
但是现有的体感应用对体感交互的支持需要开发者自行处理,智能电视厂商也并未原生支持体感功能,大大增加了体感应用的开发成本,这对体感应用生态的发展十分不利,行业亟需统一的体感应用交互方案,能够低成本将适合智能电视使用的应用转化为体感应用,提高体感应用数量,增强体感体验。
发明内容
为解决上述问题,本发明提供了一种安卓系统体感应用交互实现方法及系统,增加了一个对不支持体感交互的应用进行体感操作的机制。
为实现上述目的,本发明的技术方案如下:
如图1所示,一种安卓体感应用交互实现方法,包括步骤:
A、启动安卓系统,启动体感设备,检测并生成用户体感状态和手部空间坐标;
B、在一个安卓应用被启动时,为此安卓应用注册界面活动生命周期回调接口,当该应用的窗口启动时,注册当前启动的窗口;
C、检测步骤B中应用窗口中的可交互UI组件,生成可交互UI组件集合;
D、使用步骤A中获得的用户体感状态和手部空间坐标对步骤C中获得的可交互UI组件集合中的元素进行判定,经过系统匹配,得到可交互UI组件和要执行的交互命令;
E、根据步骤D中得到的可交互UI组件和要执行的交互命令,调用对应的安卓接口进行事件触发。
本技术方案中,优选地,步骤A中,体感设备实时获取用户的体感状态和手部空间坐标。
优选地,所述步骤B中,当该应用的窗口启动时,会调用活动生命周期回调接口onActivityResumed方法,注册当前启动的窗口。
优选地,所述步骤C中,应用窗口中的可交互UI组件包含进行点击、滑动、拖拽交互的组件,UI组件通过系统标准方法getLocationOnScreen获取在屏幕上的坐标位置和区域,并且记录。
优选地,所述步骤D中,系统匹配方法为将手部空间坐标转换为屏幕上的坐标,转换方法要根据不同的摄像头定义的方法和相关光心参数计算,得到手部屏幕坐标后,遍历UI组件集合中每个UI组件在屏幕上的位置和区域后,判断手部屏幕坐标是否在该区域内,如果在该区域内,匹配该UI组件,得到匹配的可交互UI组件和要执行的交互命令。
优选地,所述步骤E中,事件触发包括在指定位置触发点击、滑动和拖拽事件。
如图2所示,一种安卓体感应用交互实现系统,包括:
体感设备模块,用于实时检测并获取用户体感状态和手部空间坐标;
应用窗口注册模块,用于获得窗口中可进行交互的UI组件,应用窗口注册模块被配置成当一个安卓窗口被启动时,获得当前窗口中可进行交互的UI组件和生成可交互UI组件集合;
焦点选择模块,用于使用体感设备模块获取的用户体感状态和手部空间坐标对应用窗口注册模块获得的可交互UI组件集合中的元素进行判定,当可交互UI组件满足交互条件时,根据用户体感状态和手部空间坐标生成体感交互命令;
事件分发模块,用于根据生成的体感交互命令,调用对应的安卓接口进行事件触发。
优选地,体感设备模块被配置成在安卓系统启动时,跟随安卓系统启动。
优选地,应用窗口注册模块获得的窗口中可进行交互的UI组件包含进行点击、滑动、拖拽交互的组件。
优选地,事件分发模块被配置成根据体感交互命令在指定位置触发点击、滑动和拖拽事件。
本技术方案中,在安卓系统中增加了一个对不支持体感交互的应用进行体感操作的机制。当安卓系统启动时,会启动体感设备用于实时获取用户体感数据和手部空间坐标,当一个不支持体感交互的应用被启动时,安卓系统会获取当前显示的应用窗口,并将该窗口中可进行交互的UI组件传递给焦点选择模块,当满足交互条件时,由事件分发模块负责触发安卓系统的交互操作,如点击、滑动、拖拽等。这样从系统层面支持了应用的体感操控,能够明显的降低体感应用的开发成本,提高体感应用生态的应用数量,并使用户获得一致的体感交互体验。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为本发明一种安卓系统体感应用交互实现方法的流程图。
图2为本发明一种安卓系统体感应用交互实现系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一种安卓体感应用交互实现方法,包括步骤:
A、启动安卓系统,启动体感设备模块,体感设备模块检测并生成用户体感状态和手部空间坐标,并将用户体感状态和手部空间坐标传递给焦点选择模块;
B、在一个安卓应用被启动时,为此安卓应用注册界面活动生命周期回调接口,当该应用的窗口启动时,将当前启动的窗口注册到应用窗口注册模块;
C、应用窗口注册模块检测步骤B中应用窗口中的可交互UI组件,生成可交互UI组件集合,该集合中的UI组件通过系统标准方法getLocationOnScreen获取在屏幕上的坐标位置和区域并记录后将可交互UI组件集合发送给焦点选择模块;
D、焦点选择模块使用步骤A中获得的用户体感状态和手部空间坐标对步骤C中获得的可交互UI组件集合中的元素进行判定和匹配,具体的匹配方法是将手部空间坐标转换屏幕上的坐标,具体的,转换方法要根据不同的摄像头定义的方法和相关光心参数计算,得到手部屏幕坐标后,遍历UI组件集合每个UI组件在屏幕上的位置和区域判断手部屏幕坐标是否在该区域内,如果在该区域内,即匹配该UI组件,得到匹配的可交互UI组件和要执行的交互命令,并将结果发送到事件分发模块;
E、事件分发模块根据步骤D中得到的可交互UI组件和要执行的交互命令,调用对应的安卓接口进行事件触发。
步骤A中,体感设备实时获取用户的体感状态和手部空间坐标。
步骤B中,当该应用的窗口启动时,会调用活动生命周期回调接口onActivityResumed方法,将当前启动的窗口注册到应用窗口注册模块。
步骤C中,应用窗口中的可交互UI组件包含进行点击、滑动、拖拽交互的组件。
步骤E中,事件触发包括在指定位置触发点击、滑动和拖拽事件。
本实施例以悬停触发点击为体感交互动动作,具体的安卓系统体感应用交互实现方法如下:
步骤S1:安卓系统启动,体感设备模块跟随安卓系统启动,并实时获取体感状态和手部空间坐标。
步骤S2:启动一个应用A,在应用A的Application的onCreate方法中调用registerActivityLifecycleCallbacks方法注册窗口生命周期回调方法。
步骤S3:应用A启动一个活动Activity,触发回调方法onActivityResumed,通过该回调方法获取当前页面的Window,遍历当前Window中的所有子View,判断View的viewFlags属性中CLICKABLE,LONG_CLICKABLE,CONTEXT_CLICKABLE,ENABLED_MASK标志位是否为1,如为1则保存该view,并且为该Window注册OnLayoutChangeListener以便及时更新可交互UI组件集合。
步骤S4:以悬停触发点击为例,首先将步骤1获得的手部空间坐标转换为屏幕二维坐标vector2(x,y),遍历步骤S3中获取的UI组件集合vi,先获取每个UI组件的可见区域,该可见区域形状为矩形,矩形区域的左上角坐标是(x,y),矩形区域的宽高为(width,height),判断体感操作时的手部坐标映射成屏幕中的坐标是否在UI组件的可见矩形区域范围内,若在范围内,则使vi生成获取焦点命令,若vi当前已获取到焦点,则生成悬停命令。
步骤S5:若步骤S4生成获取焦点命令,则通过安卓标准方法requestFocus使得该组件获取焦点,若步骤S4生成悬停命令,则记录悬停命令触发次数。
步骤S6:当步骤S5中悬停命令触发次数达到某个预设的阈值,则通过安卓标准接口dispatchTouchEvent将点击操作发送给安卓系统,由系统完成点击事件的逐层分发。
基于以上方法,提供了一种安卓系统体感应用交互实现系统,其包括:体感设备模块,应用窗口注册模块,焦点选择模块和事件分发模块。
体感设备模块,用于实时检测并获取用户体感状态和手部空间坐标,体感设备模块被配置成在安卓系统启动时,跟随安卓系统启动。
应用窗口注册模块,用于获得窗口中可进行交互的UI组件,应用窗口注册模块被配置成当一个安卓窗口被启动时,获得当前窗口中可进行交互的UI组件和生成可交互UI组件集合,应用窗口注册模块获得的窗口中可进行交互的UI组件包含进行点击、滑动、拖拽交互的组件。
焦点选择模块,用于使用体感设备模块获取的用户体感状态和手部空间坐标对应用窗口注册模块获得的可交互UI组件集合中的元素进行判定,当可交互UI组件满足交互条件时,根据用户体感状态和手部空间坐标生成体感交互命令;
事件分发模块,用于根据生成的体感交互命令,调用对应的安卓接口进行事件触发,事件分发模块被配置成根据体感交互命令在指定位置触发点击、滑动和拖拽事件。
从以上具体实施方式能够看出,本发明在安卓系统中增加了一个对不支持体感交互的应用进行体感操作的机制。具体地,当安卓系统启动时,会启动体感设备用于实时获取用户体感数据和手部空间坐标,当一个不支持体感交互的应用被启动时,安卓系统会获取当前显示的应用窗口,并将该窗口中可进行交互的UI组件传递给焦点选择模块,当满足交互条件时,由事件分发模块负责触发安卓系统的交互操作,如点击、滑动、拖拽等。这样从系统层面支持了应用的体感操控,能够明显的降低体感应用的开发成本,提高体感应用生态的应用数量,并使用户获得一致的体感交互体验。
上述实施例仅用以说明本发明的技术方案而非对其限制,制作方法上实际可采用的制作方案是很多的,凡依本发明的权利要求所做的均等变化与装饰,均属于本发明的涵盖范围。
Claims (10)
1.一种安卓体感应用交互实现方法,其特征在于,包括步骤:
A、启动安卓系统,启动体感设备,检测并生成用户体感状态和手部空间坐标;
B、在一个安卓应用被启动时,为此安卓应用注册界面活动生命周期回调接口,当该应用的窗口启动时,注册当前启动的窗口;
C、检测步骤B中应用窗口中的可交互UI组件,生成可交互UI组件集合;
D、使用步骤A中获得的用户体感状态和手部空间坐标对步骤C中获得的可交互UI组件集合中的元素进行判定,经过系统匹配,得到可交互UI组件和要执行的交互命令;
E、根据步骤D中得到的可交互UI组件和要执行的交互命令,调用对应的安卓接口进行事件触发。
2.根据权利要求1所述的安卓体感应用交互实现方法,其特征在于:所述步骤A中,体感设备实时获取用户的体感状态和手部空间坐标。
3.根据权利要求1所述的安卓体感应用交互实现方法,其特征在于:所述步骤B中,当该应用的窗口启动时,会调用活动生命周期回调接口onActivityResumed方法,注册当前启动的窗口。
4.根据权利要求1所述的安卓体感应用交互实现方法,其特征在于:所述步骤C中,应用窗口中的可交互UI组件包含进行点击、滑动、拖拽交互的组件,UI组件通过系统标准方法getLocationOnScreen获取在屏幕上的坐标位置和区域,并且记录。
5.根据权利要求1所述的安卓体感应用交互实现方法,其特征在于:所述步骤D中,系统匹配方法为将手部空间坐标转换为屏幕上的坐标,转换方法要根据不同的摄像头定义的方法和相关光心参数计算,得到手部屏幕坐标后,遍历UI组件集合中每个UI组件在屏幕上的位置和区域后,判断手部屏幕坐标是否在该区域内,如果在该区域内,匹配该UI组件,得到匹配的可交互UI组件和要执行的交互命令。
6.根据权利要求1所述的安卓体感应用交互实现方法,其特征在于:所述步骤E中,事件触发包括在指定位置触发点击、滑动和拖拽事件。
7.一种安卓体感应用交互实现系统,其特征在于,包括:
体感设备模块,用于实时检测并获取用户体感状态和手部空间坐标;
应用窗口注册模块,用于获得窗口中可进行交互的UI组件,所述应用窗口注册模块被配置成当一个安卓窗口被启动时,获得当前窗口中可进行交互的UI组件和生成可交互UI组件集合;
焦点选择模块,用于使用体感设备模块获取的用户体感状态和手部空间坐标对应用窗口注册模块获得的可交互UI组件集合中的元素进行判定,当可交互UI组件满足交互条件时,根据用户体感状态和手部空间坐标生成体感交互命令;
事件分发模块,用于根据生成的体感交互命令,调用对应的安卓接口进行事件触发。
8.根据权利要求7所述的安卓体感应用交互实现系统,其特征在于:
所述体感设备模块被配置成在安卓系统启动时,跟随安卓系统启动。
9.根据权利要求7所述的安卓体感应用交互实现系统,其特征在于:
所述应用窗口注册模块获得的窗口中可进行交互的UI组件包含进行点击、滑动、拖拽交互的组件。
10.根据权利要求7所述的安卓体感应用交互实现系统,其特征在于:所述事件分发模块被配置成根据体感交互命令在指定位置触发点击、滑动和拖拽事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910639510.6A CN110488971B (zh) | 2019-07-16 | 2019-07-16 | 一种安卓系统体感应用交互实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910639510.6A CN110488971B (zh) | 2019-07-16 | 2019-07-16 | 一种安卓系统体感应用交互实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110488971A CN110488971A (zh) | 2019-11-22 |
CN110488971B true CN110488971B (zh) | 2023-02-28 |
Family
ID=68547216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910639510.6A Active CN110488971B (zh) | 2019-07-16 | 2019-07-16 | 一种安卓系统体感应用交互实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110488971B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840092A (zh) * | 2022-05-31 | 2022-08-02 | 上海商汤临港智能科技有限公司 | 一种与车载显示设备交互的方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092815A (zh) * | 2014-05-22 | 2014-10-08 | 中兴通讯股份有限公司 | 一种基于安卓系统的应用间信息交互方法及装置 |
CN107239275A (zh) * | 2017-05-17 | 2017-10-10 | 努比亚技术有限公司 | 应用运行方法、终端及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984494A (zh) * | 2013-02-07 | 2014-08-13 | 上海帛茂信息科技有限公司 | 用于多种设备间的直觉式用户互动系统及方法 |
-
2019
- 2019-07-16 CN CN201910639510.6A patent/CN110488971B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092815A (zh) * | 2014-05-22 | 2014-10-08 | 中兴通讯股份有限公司 | 一种基于安卓系统的应用间信息交互方法及装置 |
CN107239275A (zh) * | 2017-05-17 | 2017-10-10 | 努比亚技术有限公司 | 应用运行方法、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110488971A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018192394A1 (zh) | 虚拟现实场景的交互方法和装置、存储介质及电子装置 | |
CN110134600B (zh) | 测试脚本录制方法、装置及存储介质 | |
CN105117337B (zh) | 应用调试方法、客户端及调试平台 | |
US11604570B2 (en) | Method, device, apparatus, and storage medium for controlling touch operation mode | |
WO2019233307A1 (zh) | 用户界面显示方法、装置、终端及存储介质 | |
CN109144396A (zh) | 一种触摸信息处理方法、装置、设备和存储介质 | |
CN111142669B (zh) | 二维界面到三维场景的交互方法、装置、设备及存储介质 | |
CN110109598A (zh) | 一种动画交互实现方法、装置及电子设备 | |
CN103970538A (zh) | 一种Android焦点变换方法及系统 | |
CN106528163B (zh) | 一种页面切换方法和装置 | |
CN110488971B (zh) | 一种安卓系统体感应用交互实现方法及系统 | |
CN104317513A (zh) | 一种控制蓝光播放器ui界面光标移动速度的方法 | |
CN102968245B (zh) | 鼠标触摸协同控制方法、装置及智能电视交互方法、系统 | |
CN104160370A (zh) | 基于图像的应用自动化 | |
CN110007838B (zh) | 擦除控件的处理方法、装置和设备 | |
US20200341616A1 (en) | Method and apparatus for controlling application icon and storage medium | |
CN103970290A (zh) | 一种基于云游戏的鼠标信号处理装置及方法 | |
CN108227919B (zh) | 用户手指位置信息的确定方法及装置、投影仪、投影系统 | |
CN108815843B (zh) | 虚拟摇杆的控制方法与装置 | |
CN112788436B (zh) | 电视平台软键盘显示方法及装置、智能电视以及存储介质 | |
CN112256563A (zh) | 安卓应用稳定性测试方法、装置、电子设备及存储介质 | |
CN114756162B (zh) | 触控系统及方法、电子设备及计算机可读存储介质 | |
CN114089935B (zh) | 投屏处理方法、装置、设备和存储介质 | |
CN109753146A (zh) | 一种移动终端启动应用的方法及移动终端 | |
CN113141530B (zh) | 基于遥控交互方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |