一种智能电视的遥控按键响应方法及装置与流程

文档序号:19589222发布日期:2020-01-03 10:02阅读:285来源:国知局
一种智能电视的遥控按键响应方法及装置与流程

本发明属于智能电视技术领域,尤其涉及一种智能电视的遥控按键响应方法及装置。



背景技术:

随着智能电视的出现,与智能电视配套的遥控器较之传统的电视遥控器也产生了很大的变化,遥控器上的按键越来越多,除了传统电视遥控器上的方向键、音量键、换台键、电源键等,还增加了例如主页键、信息窗键、历史键、语音键、播放控制键、引导键、设置键等一系列功能按键,用于对智能电视内置的各类丰富应用进行操作。

然而,并非智能电视中的每个应用都会使用到上述全部按键,在某个应用运行时,或者在某个应用的某个运行场景之下,对遥控器中不会被使用到的按键做出响应,可能导致该应用出现软件异常,甚至是异常终止,造成该应用乃至整个智能电视操作系统的不稳定。



技术实现要素:

本发明实施例的目的在于提供一种智能电视的遥控按键响应方法及装置,旨在解决现有技术会导致智能电视中的应用及智能电视操作系统运行不稳定的问题。

本发明实施例是这样实现的,一种智能电视的遥控按键响应方法,包括:

检测用户点击的按键的键值;

获取当前所述智能电视操作系统的前台应用;

判断所述键值是否被所述前台应用屏蔽;

若所述键值被所述前台应用屏蔽,则停止执行将所述键值上报至所述操作系统应用层的动作;

若所述键值未被所述前台应用屏蔽,则向所述操作系统应用层上报所述键值,以使所述前台应用响应所述按键。

本发明实施例的另一目的在于提供一种智能电视的遥控按键响应装置,包括:

检测单元,用于检测用户点击的按键的键值;

获取单元,用于获取当前所述智能电视操作系统的前台应用;

判断单元,用于判断所述键值是否被所述前台应用屏蔽;

停止单元,用于若所述键值被所述前台应用屏蔽,则停止执行将所述键值上报至所述操作系统应用层的动作;

上报单元,用于若所述键值未被所述前台应用屏蔽,则向所述操作系统应用层上报所述键值,以使所述前台应用响应所述按键。

在本发明实施例中,将检测到的遥控器按键键值分发至应用层之前,通过将该键值与当前前台应用需要屏蔽的键值进行对比,以此来决定是否将该键值上报给前台应用响应,使得应用无需对不需要使用的按键做出响应,提高了应用运行及操作系统运行的稳定性,提高了智能电视的操作效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的智能电视的遥控按键响应方法的实现流程图;

图2是本发明一实施例提供的智能电视的遥控按键响应示意图;

图3是本发明另一实施例提供的智能电视的遥控按键响应方法的实现流程图;

图4是本发明再一实施例提供的智能电视的遥控按键响应方法的实现流程图;

图5是本发明一实施例提供的智能电视的遥控按键响应装置的结构框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明一实施例提供的智能电视的遥控按键响应方法的实现流程,详述如下:

在s101中,检测用户点击的按键的键值。

在本实施例中,所述按键,为智能电视所配套的遥控器上的按键,大多情况下,所述按键均为遥控器上的物理按键,同时,在遥控器具备触摸输入功能的情况下,所述按键也可指遥控器上通过触摸操作输入的虚拟按键或者手势,具体的按键形式在此不用于限定本发明。

当用户点击遥控器上的按键时,根据该按键按下时所产生的电信息,获取到该按键对应的键值。

在s102中,获取当前所述智能电视操作系统的前台应用。

由于需要对用户点击的按键做出响应的为当前运行在操作系统前台的应用,因此,在s102中,获取到当前智能电视操作系统的前台应用,用于进一步判断该前台应用是否需要对用户点击的按键做出响应。

以android操作系统为例,由于在android系统中,每个运行过的应用都会被保存在应用程序堆栈(applicationstack)中,且显示在最前端的应用(即前台应用)被放置在应用程序堆栈的栈顶,而每次启动一个新的应用或者将一个后台应用激活至前台运行时,之前的前台应用就会被压入堆栈中,因此,在s102中,首先访问操作系统的应用程序堆栈,找出应用程序堆栈栈顶的第一个应用,将其确定为当前操作系统的前台应用;进一步地,还可以访问该前台应用的第一个应用页面,以进一步确定该前台应用的当前应用场景。

在s103中,判断所述键值是否被所述前台应用屏蔽。

在本实施例中,可以通过读取操作系统预先存储的键值屏蔽列表,首先确定该前台应用是否被记录在键值屏蔽列表中,若该前台应用被记录在键值屏蔽列表中,则进一步根据键值屏蔽列表确定该键值是否被该前台应用屏蔽。具体的判断过程将在后续实施例中进行详细说明,在此不再赘述。

在s104中,若所述键值被所述前台应用屏蔽,则停止执行将所述键值上报至所述操作系统应用层的动作。

在s105中,若所述键值未被所述前台应用屏蔽,则向所述操作系统应用层上报所述键值,以使所述前台应用响应所述按键。

基于s103的判断结果,若判断出用户按下的按键的键值被前台应用所屏蔽,则停止执行将该键值上报至操作系统应用层的动作。其中,以android系统为例,如图2所示,键值检测发生在android系统的kernel层,kernel层将检测到的键值上报给android系统的框架层,并在框架层执行s103的判断步骤,对于键值被前台应用屏蔽的判断结果,检测到的键值将停留在框架层,不会再被上报给应用层,那么,前台应用也就无法接收到该键值,自然不会对该键值做出响应,由此来完成对按键的屏蔽;而对于键值未被前台应用屏蔽的判断结果,如图2所示,该键值将会被上报给应用层,前台应用将接收到该键值,并依据程序设定对该键值做出响应。

进一步地,作为本发明的一个实施例,若所述键值被所述前台应用屏蔽,在停止执行将所述键值上报至所述操作系统应用层的动作的同时,还可以弹出所述前台应用不支持所述按键的提示信息,该提示信息的内容可以由应用自行设定,并在应用配置文件的description字段加以描述,以将该按键被应用屏蔽的消息及时地反馈给用户,避免用户做出重复的无谓操作,以提高智能电视的操作效率。

在本实施例中,将检测到的遥控器按键键值分发至应用层之前,通过将该键值与当前前台应用需要屏蔽的键值进行对比,以此来决定是否将该键值上报给前台应用响应,使得应用无需对不需要使用的按键做出响应,提高了应用运行及操作系统运行的稳定性,提高了智能电视的操作效率。

接下来,通过具体的实施例,对s103的判断过程进行详细阐述:

作为本发明的另一个实施例,如图3所示,在执行图1所示步骤之前,先在操作系统中完成键值屏蔽列表的创建:

s301,分别提取安装在所述操作系统中的每个应用的键值屏蔽信息,所述键值屏蔽信息用于说明该应用所对应的需要屏蔽的键值。

在本实施例中,在应用的开发过程中,需要在其配置文件中写入相应的键值屏蔽信息。以android系统的应用为例,需要在应用的androidmanifest.xml文件中写入该应用需要屏蔽的键值信息,比如:

上述代码用于表示在“tv”应用的“搜台”应用场景之下,屏蔽键值为home、source和setting的按键。

s302,根据提取出的所述键值屏蔽信息创建键值屏蔽列表,所述键值屏蔽列表记录了每个键值对应的屏蔽该键值的应用。

在操作系统解析并安装应用的过程中,可以由操作系统提取出上述键值屏蔽信息,归纳保存至键值屏蔽列表中。创建的键值屏蔽列表可以如表1所示,在该键值屏蔽列表中,记录了不同应用的不同应用场景所对应的应用页面名称和屏蔽的按键的键值。

表1

s303,检测用户点击的按键的键值。

s304,获取当前所述智能电视操作系统的前台应用。

相应地,图1的s103可通过下述s305~s307实现:

s305,判断所述前台应用是否位于所述键值屏蔽列表中。

s306,若所述前台应用位于所述键值屏蔽列表中,则判断所述键值是否被所述前台应用屏蔽。

s307,若所述键值被所述前台应用屏蔽,则停止执行将所述键值上报至所述操作系统应用层的动作。

在s308中,若所述键值未被所述前台应用屏蔽,则向所述操作系统应用层上报所述键值,以使所述前台应用响应所述按键。

以下结合表1的例子,对s303~307进行进一步的解释说明:

假设检测到遥控器上的3d键被按下,并且此时获取到当前智能电视操作系统的前台应用为主界面,则通过遍历表1,首先判断主界面应用是否位于表1中;若主界面应用位于表1中,则通过表1中的键名“主界面”读取到其对应屏蔽的键值为“信源键”和“3d键”,从而确定出被按下的3d键的键值被主界面应用所屏蔽,从而停止执行将该键值上报至操作系统应用层的动作。

图3所示实施例适用于整个应用完全屏蔽某个按键的情况,而进一步地,由于在一个应用运行的过程中,可能会处于不同的应用场景,例如,主界面应用可能会处于主界面的应用场景之下,也可能会处于主界面弹出应用菜单的场景之下,不同的应用场景对按键的屏蔽需求是不相同的,因此,如图4所示,为本发明再一实施例提供的智能电视的遥控按键响应方法的实现流程,可以进一步判断用户按下的按键的键值是否被前台应用的当前应用场景所屏蔽:

在s401中,分别提取安装在所述操作系统中的每个应用的键值屏蔽信息,所述键值屏蔽信息用于说明该应用下的每个应用场景所对应的需要屏蔽的键值。

在s402中,根据提取出的所述键值屏蔽信息创建键值屏蔽列表,所述键值屏蔽列表记录了每个键值对应的屏蔽该键值的应用及其应用场景。

在s403中,检测用户点击的按键的键值。

在s404中,获取当前所述智能电视操作系统的前台应用。

在s405中,获取所述前台应用的当前应用场景;

在s406中,判断所述前台应用的当前应用场景是否位于所述键值屏蔽列表中。

在s407中,若所述前台应用的当前应用场景位于所述键值屏蔽列表中,则判断所述键值是否被所述前台应用的当前应用场景屏蔽;

在s408中,若所述键值被所述前台应用的当前应用场景屏蔽,则停止执行将所述键值上报至所述操作系统应用层的动作。

在s409中,若所述键值未被所述前台应用的当前应用场景屏蔽,则向所述操作系统应用层上报所述键值,以使所述前台应用响应所述按键。

以下结合表1的例子,对s403~408进行进一步的解释说明:

假设检测到遥控器上的3d键被按下,并且此时获取到当前智能电视操作系统的前台应用为tv应用,并进一步获取到当前tv应用处于搜台的应用场景之下,则通过遍历表1,首先判断tv应用的搜台应用场景是否位于表1中;若tv应用的搜台应用场景位于表1中,则通过表1中的键名“tv”及键名“搜台”读取到其对应屏蔽的键值“主页键”、“信源键”和“3d键”,从而确定出被按下的3d键的键值被tv应用的搜台应用场景所屏蔽,从而停止执行将该键值上报至操作系统应用层的动作。

相比于图3所示实施例,图4所示实施例增加了获取前台应用的当前应用场景,并进一步地判断前台应用的当前应用场景是否屏蔽了用户按下的按键的键值的步骤,对应用做了更加细化的按键场景划分。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的智能电视的遥控按键响应方法,图5示出了本发明实施例提供的智能电视的遥控按键响应装置的结构框图,所述智能电视的遥控按键响应装置可以是内置于智能电视或智能电视的应用系统内的软件单元、硬件单元或者是软硬结合的单元。为了便于说明,仅示出了与本实施例相关的部分。

参照图5,该装置包括:

检测单元51,检测用户点击的按键的键值;

获取单元52,获取当前所述智能电视操作系统的前台应用;

判断单元53,判断所述键值是否被所述前台应用屏蔽;

停止单元54,若所述键值被所述前台应用屏蔽,则停止执行将所述键值上报至所述操作系统应用层的动作;

上报单元55,若所述键值未被所述前台应用屏蔽,则向所述操作系统应用层上报所述键值,以使所述前台应用响应所述按键。

在图5实施例所示装置的基础上,可选地,所述装置还包括:

第一提取单元,分别提取安装在所述操作系统中的每个应用的键值屏蔽信息,所述键值屏蔽信息用于说明该应用所对应的需要屏蔽的键值;

第一创建单元,根据提取出的所述键值屏蔽信息创建键值屏蔽列表,所述键值屏蔽列表记录了每个键值对应的屏蔽该键值的应用;

所述判断单元53包括:

第一判断子单元,判断所述前台应用是否位于所述键值屏蔽列表中;

第二判断子单元,若所述前台应用位于所述键值屏蔽列表中,则判断所述键值是否被所述前台应用屏蔽。

在图5实施例所示装置的基础上,可选地,所述装置还包括:

第二提取单元,分别提取安装在所述操作系统中的每个应用的键值屏蔽信息,所述键值屏蔽信息用于说明该应用下的每个应用场景所对应的需要屏蔽的键值;

第二创建单元,根据提取出的所述键值屏蔽信息创建键值屏蔽列表,所述键值屏蔽列表记录了每个键值对应的屏蔽该键值的应用及其应用场景;

所述判断单元53包括:

第三判断子单元,判断所述前台应用的当前应用场景是否位于所述键值屏蔽列表中;

第四判断子单元,若所述前台应用的当前应用场景位于所述键值屏蔽列表中,则判断所述键值是否被所述前台应用的当前应用场景屏蔽。

在图5实施例所示装置的基础上,可选地,所述装置还包括:

弹出单元,弹出所述前台应用不支持所述按键的提示信息。

在图5实施例所示装置的基础上,可选地,所述获取单元52包括:

访问子单元,访问所述操作系统的应用程序堆栈;

第一确定子单元,将所述应用程序堆栈栈顶的第一个应用确定为所述前台应用;

第二确定子单元,将所述应用程序堆栈栈顶的第一个应用的第一个应用页面确定为所述前台应用的当前应用场景。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1