本发明专利技术公开了一种在android智能机顶盒上实现web页面适配遥控器按键的通用方法,其特征在于在按键处理过程中android智能机顶盒的客户端拦截遥控器按键事件,屏蔽android系统自带的按键响应算法,并将遥控器按键事件传给云端web页面,最终由web页面完成对遥控器按键事件的处理和响应。本发明专利技术将遥控器的按键处理权由本地android系统移交给云端web页面,使得对遥控器按键的处理更加合理,用户操作更流畅且在不同机顶盒上操作体验一致。
【技术实现步骤摘要】
本专利技术属于web
,涉及android智能机顶盒上浏览web页面的遥控器按键处理技术,具体是一种在android智能机顶盒上实现web页面适配遥控器按键的通用方法。
技术介绍
在三网融合的大背景下,伴随着互联网电视的迅速发展,搭载android系统的智能机顶盒以其优良的性能、强大的功能和丰富的应用逐渐成为机顶盒市场的主流品种,得以广泛应用。目前,机顶盒遥控器对web页面的操作依赖于android系统自身的一套按键响应处理算法,这套算法通过分析页面元素属性和关系去处理和响应遥控器按键事件。结合图1,原有android机顶盒遥控器按键处理流程如下:1.用户使用遥控器通过浏览器或者浏览器控件webview访问网页时,遥控器的按键事件经过android系统分发到webview的onKeyDown()函数中;2.onKeyDown()调用android framework中自带的按键处理算法,对遥控器按键进行处理;3.处理结果通知本地浏览器内核webkit engine,完成对web页面的更新,例如移动焦点等。在页面比较简单,元素关系比较清晰的情况下,android系统的按键处理算法能够正常发挥作用。然而,当用户访问较复杂的页面,页面元素关系不是很清晰时,android系统对按键的响应处理与用户实际操作目的就会出现很大差异,经常出现焦点移动顺序无法控制、难以将焦点移动到期望的元素上等问题,造成用户操作困难,严重影响用户体验。此外,由于这套按键响应算法在本地android系统内部,不同版本的android系统中该算法也会存在差异,所以同一个web页面在搭载不同android版本的机顶盒上,相同按键操作的结果往往不尽相同,导致用户体验不一致,影响市场推广。因此,在android电视机顶盒上浏览网页时,目前对机顶盒遥控器的按键响应至少存在以下问题:第一,无法适应机顶盒遥控器对页面的控制要求。当前,web页面越来越复杂,而且往往会使用各种各样的框架,试图使用android本身的一套按键响应算法去准确地适配所有页面,无疑是极其困难的。第二,不能满足适配不同版本android系统的需求。将按键响应算法置于机顶盒android系统内部的方法使得不同版本android系统内按键响应存在差异,造成不同机顶盒上操作体验不一致,同时还需要web页面的开发人员在设计、开发和测试时都要考虑页面在多机顶盒上的适配性,大大增加了开发成本。
技术实现思路
针对以上问题,我们提出了一种在android智能机顶盒上实现web页面适配遥控器按键的通用方法,具体方案为:一种在android智能机顶盒上实现web页面适配遥控器按键的通用方法,在按键处理过程中android智能机顶盒的客户端拦截遥控器按键事件,屏蔽android系统自带的按键响应算法,并将遥控器按键事件传给云端web页面,最终由web页面完成对遥控器按键事件的处理和响应。所述通用方法的具体流程为:1)屏蔽遥控器按键的本地处理,当遥控器按键事件被送到浏览器控件webview的onKeyDown()函数时,重载onKeyDown()函数,对遥控器按键事件进行拦截,使其不再向下触发调用android系统自带的按键响应算法;2)在onKeyDown()函数中执行一段本地JavaScript代码将当前遥控器按键的键值keyCode传给云端web页面的document对象;3)在云端的web页面中增加按键响应处理模块,负责接收传上来的按键KeyCode,并进行处理和响应。所述web页面中按键响应处理模块的具体操作包括:首先从当前页面的document对象中获取按键的键值keyCode,然后判断对此keyCode的处理是否需要回调android本地java方法,若不需要,则直接在web页面内部完成按键响应处理;若需要执行android本地java方法,则在处理逻辑中自定义js方法,同时在机顶盒浏览器控件webview中将此js方法与本地Java方法进行关联,从而实现对android本地java方法的回调,配合完成按键响应处理。本专利技术的有益效果1.解决在android智能机顶盒上使用遥控器操作网页比较困难的问题,确保用户可以流畅地使用遥控器操作web页面,提升用户体验,适应互联网电视快速发展的市场需求。2.利用云端处理遥控器按键事件的方法,彻底解决本地android系统版本不同带来的按键响应结果差异和用户体验不一致问题。同时避免了web页面开发过程中需要适配不同android系统版本的问题,节省开发成本,提高开发效率。附图说明图1为现有技术中android机顶盒遥控器按键处理流程。图2为本专利技术的遥控器按键的处理流程。具体实施方式下面结合实施例对本专利技术作进一步说明,但本专利技术的保护范围不限于此:一种在android智能机顶盒上实现web页面适配遥控器按键的通用方法,在按键处理过程中android智能机顶盒的客户端拦截遥控器按键事件,屏蔽android系统自带的按键响应算法,并将遥控器按键事件传给云端web页面,最终由web页面完成对遥控器按键事件的处理和响应。结合图2,在优选的实施例中,本专利技术的遥控器按键的处理流程为:1)屏蔽遥控器按键的本地处理,当遥控器按键事件被送到浏览器控件webview的onKeyDown()函数时,重载onKeyDown()函数,对遥控器按键事件进行拦截,使其不再向下触发调用android系统自带的按键响应算法;2)在onKeyDown()函数中执行一段本地JavaScript代码将当前遥控器按键的键值keyCode传给云端web页面的document对象;3)在云端的web页面中增加按键响应处理模块,负责接收传上来的按键KeyCode,并进行处理和响应。在优选的实施例中,步骤3)中所述web页面中按键响应处理模块的具体操作包括:首先从当前页面的document对象中获取按键的键值keyCode,然后判断对此keyCode的处理是否需要回调android本地java方法,若不需要,则直接在web页面内部完成按键响应处理;若需要执行android本地java方法,则在处理逻辑中自定义js方法,同时在机顶盒浏览器控件webview中将此js方法与本地Java方法进行关联,从而实现对android本地java方法的回调,配合完成按键响应处理。与现有技术相比,本专利技术具有的优点十分明显:1、web页面上遥控本文档来自技高网...
【技术保护点】
一种在android智能机顶盒上实现web页面适配遥控器按键的通用方法,其特征在于在按键处理过程中android智能机顶盒的客户端拦截遥控器按键事件,屏蔽android系统自带的按键响应算法,并将遥控器按键事件传给云端web页面,最终由web页面完成对遥控器按键事件的处理和响应。
【技术特征摘要】
1.一种在android智能机顶盒上实现web页面适配遥控器按键的通用方法,其特征在于在按
键处理过程中android智能机顶盒的客户端拦截遥控器按键事件,屏蔽android系统自带的按
键响应算法,并将遥控器按键事件传给云端web页面,最终由web页面完成对遥控器按键事
件的处理和响应。
2.根据权利要求1所述的一种在android智能机顶盒上实现web页面适配遥控器按键的通用
方法,其特征在于所述通用方法的具体流程为:
1)屏蔽遥控器按键的本地处理,当遥控器按键事件被送到浏览器控件webview的
onKeyDown()函数时,重载onKeyDown()函数,对遥控器按键事件进行拦截,使其不再向下
触发调用android系统自带的按键响应算法;
2)在onKeyDown()函数中执行一段本地JavaScript代码将当前遥控器按键的键值ke...
【专利技术属性】
技术研发人员:陈景钊,成国强,杨立扬,
申请(专利权)人:江苏省公用信息有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。