按键处理的方法、装置及计算机可读存储介质与流程

文档序号:15395288发布日期:2018-09-08 02:02阅读:171来源:国知局

本发明涉及智能电视技术领域,尤其涉及一种按键处理的方法、按键处理的装置及计算机可读存储介质。



背景技术:

随着安卓智能操作系统的兴起,安卓操作系统应用越来越广泛。目前很多智能电视使用安卓操作系统,由于电视和手机的操作应用场景不同,智能电视的安卓操作系统中对智能遥控器的按键指令处理中遇到许多待解决的问题。

在现有的智能电视安卓系统中,接收到的遥控器按键指令分发事件由窗口管理模块统一拦截处理,并发送给当前运行的应用进行处理,当按键指令为功能键时,无法实现及时调用功能键关联的应用来处理功能键指令的功能。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种按键处理的方法、装置和计算机可读存储介质,旨在解决现有技术中当按键指令为功能键时无法及时调用功能键关联的应用来处理功能键指令的技术问题。

为实现上述目的,本发明提供一种按键处理的方法,所述按键处理方法包括如下步骤:

判断接收到的按键指令是否是功能按键指令;

如果是功能按键指令,根据当前平台类型选择所述功能按键指令的处理方式;

根据所述功能按键指令的处理方式,运行和所述功能按键指令关联的应用处理,以处理所述功能按键指令。

优选地,所述根据所述功能按键指令的处理方式,运行和所述功能按键指令关联的应用处理,以处理所述功能按键指令步骤包括:

当选择所述功能按键指令的处理方式是发送广播消息时,发送广播消息,以通知和所述功能按键指令关联的应用处理所述功能按键指令。

优选地,所述根据当前平台类型选择所述功能按键指令的处理方式步骤之后包括:

获取和所述功能按键指令关联的应用的标识符;

当选择所述功能按键指令的处理方式是发送广播消息时,发送携带所述标识符的广播消息,以供和所述功能按键关联的应用识别所述广播消息,并处理所述功能按键指令。

优选地,所述当选择所述功能按键指令的处理方式是发送广播消息时,发送广播消息,以通知和所述功能按键指令关联的应用处理所述功能按键指令步骤之前包括:

当选择所述功能按键指令的处理方式是发送广播消息时,判断当前运行的应用是否可以处理所述功能按键指令;

若当前运行的应用不能处理所述功能按键指令,发送广播消息给其他功能按键应用。

优选地,所述根据所述功能按键指令的处理方式,运行和所述功能按键指令关联的应用,以处理所述功能按键指令步骤包括:

获取和所述功能按键指令关联的应用的标识符;

当选择所述功能按键指令的处理方式是启动服务时,发送携带所述标识符的启动指令给和所述功能按键指令关联的应用,启动和所述功能按键指令关联的应用,以处理所述功能按键指令。

优选地,所述当选择所述功能按键指令的处理方式是启动服务时,启动和所述功能按键指令关联的应用,以处理所述功能按键指令步骤包括:

当选择所述功能按键指令的处理方式是启动服务时,判断当前运行的应用是否可以处理所述功能按键指令;

若当前运行的应用不能处理所述功能按键指令,启动和所述功能按键指令关联的应用,以处理所述功能按键指令。

优选地,所述判断接收到的按键指令是否是功能按键指令步骤之前包括:

在系统初始化时创建发送广播消息的进程和启动服务的进程,并分别设置所述发送广播消息进程所支持的平台类型和所述启动服务进程所支持的平台类型。

优选地,所述在系统初始化时创建发送广播消息的进程和启动服务的进程,并分别设置所述发送广播消息进程所支持的平台类型和所述启动服务进程所支持的平台类型步骤之后包括:

设置功能键应用支持接收所述广播消息进程发送的广播消息;

同时设置所述功能键应用支持接收所述启动服务进程发送的启动指令。

此外,为实现上述目的,本发明还提供所述按键处理的装置,该装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的按键处理程序,所述按键处理程序被所述处理器执行时实现如上所述的按键处理方法的步骤。

此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有按键处理程序,所述按键处理程序被处理器执行时实现如上所述的按键处理方法的步骤。

本发明实施例提出的一种按键处理的方法、装置和可读计算机存储介质,显示器判断接收到的按键指令是否是功能按键指令,如果是功能按键指令,根据当前平台类型选择所述功能按键指令的处理方式,根据所述功能按键指令的处理方式,运行和所述功能按键指令关联的应用处理,以处理所述功能按键指令。

本发明通过系统注册发送广播消息功能和启动服务功能,当系统接收到功能键指令,根据平台类型采用发送广播消息或启动服务的方式,实现功能按键的全局操作,使功能按键指令在任何应用场景下都可以得到及时响应。同时本发明简化了功能按键的处理,兼容有效的解决了各机芯平台由于硬件不同而需集成不同软件的问题,降低开发工程师与集成工程师的工作量。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明按键处理的方法第一实施例的流程示意图;

图3为本发明按键处理的方法第二实施例的流程示意图;

图4为本发明按键处理的方法第三实施例的流程示意图;

图5为本发明按键处理的方法第四实施例的流程示意图;

图6为本发明按键处理的方法第五实施例的流程示意图;

图7为本发明按键处理的方法第六实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:判断接收到的按键指令是否是功能按键指令,如果是功能按键指令,根据当前平台类型选择所述功能按键指令的处理方式,根据所述功能按键指令的处理方式,运行和所述功能按键指令关联的应用处理,以处理所述功能按键指令。

由于现有技术中,系统的窗口管理模块统一拦截处理接收到的遥控器发出的按键指令,将其发送给当前运行的应用进行处理,当按键指令为功能按键指令时,无法及时调用和功能按键指令关联的应用来处理功能键指令的功能。

本发明提供一种解决方案,通过系统注册发送广播消息功能和启动服务功能,当系统接收到功能键指令,根据平台类型采用发送广播消息或启动服务的方式,实现功能按键的全局操作,使功能按键指令在任何应用场景下都可以得到及时响应。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端为按键处理装置。

如图1所示,该按键处理装置可以包括:处理器1001,例如cpu,通信总线1002,存储器1003,显示器1004。其中,通信总线1002用于实现这些组件之间的连接通信。存储器1003可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1003可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1003中可以包括操作系统和按键处理应用程序。

在图1所示的装置中,处理器1001可以用于调用存储器1003中存储的按键处理程序,并执行以下操作:

判断接收到的按键指令是否是功能按键指令;

如果是功能按键指令,根据当前平台类型选择所述功能按键指令的处理方式;

根据所述功能按键指令的处理方式,运行和所述功能按键指令关联的应用处理,以处理所述功能按键指令。

进一步地,处理器1001可以调用存储器1003中存储的按键处理应用程序,还执行以下操作:

当选择所述功能按键指令的处理方式是发送广播消息时,发送广播消息,以通知和所述功能按键指令关联的应用处理所述功能按键指令。

进一步地,处理器1001可以调用存储器1003中存储的按键处理应用程序,还执行以下操作:

获取和所述功能按键指令关联的应用的标识符;

当选择所述功能按键指令的处理方式是发送广播消息时,发送携带所述标识符的广播消息,以供和所述功能按键关联的应用识别所述广播消息,并处理所述功能按键指令。

进一步地,处理器1001可以调用存储器1003中存储的按键处理应用程序,还执行以下操作:

当选择所述功能按键指令的处理方式是发送广播消息时,判断当前运行的应用是否可以处理所述功能按键指令;

若当前运行的应用不能处理所述功能按键指令,发送广播消息给其他功能按键应用。

进一步地,处理器1001可以调用存储器1003中存储的按键处理应用程序,还执行以下操作:

获取和所述功能按键指令关联的应用的标识符;

当选择所述功能按键指令的处理方式是启动服务时,发送携带所述标识符的启动指令给和所述功能按键指令关联的应用,启动和所述功能按键指令关联的应用,以处理所述功能按键指令。

进一步地,处理器1001可以调用存储器1003中存储的按键处理应用程序,还执行以下操作:

当选择所述功能按键指令的处理方式是启动服务时,判断当前运行的应用是否可以处理所述功能按键指令;

若当前运行的应用不能处理所述功能按键指令,启动和所述功能按键指令关联的应用,以处理所述功能按键指令。

进一步地,处理器1001可以调用存储器1003中存储的按键处理应用程序,还执行以下操作:

在系统初始化时创建发送广播消息的进程和启动服务的进程,并分别设置所述发送广播消息进程所支持的平台类型和所述启动服务进程所支持的平台类型。

进一步地,处理器1001可以调用存储器1003中存储的按键处理应用程序,还执行以下操作:

设置功能键应用支持接收所述广播消息进程发送的广播消息;

同时设置所述功能键应用支持接收所述启动服务进程发送的启动指令。

参照图2,本发明第一实施例提供一种按键处理的方法,所述方法包括:

步骤s10,判断接收到的按键指令是否是功能按键指令。

显示器收到的按键指令可以分成功能按键和非功能按键两大类。以电视机遥控器为例,其中功能按键包括电源、设置、信号、频道选择键、音量调节键、历史、收藏等,非功能按键包括方向键、返回键等。可见,用户通过功能按键发出的指令是对显示器特定的功能进行设置或者查看,往往先需要将特定功能对应的界面显示出来,以供用户通过包括方向键和返回键的这些非功能按键来进行设置。而用户通过非功能按键对显示器当前显示的界面进行操控。

由于两类按键所要实现的对显示器的控制功能不一样,显示器要判断接收到的按键指令是功能按键指令还是非功能按键指令,以进行对应的处理。显示器和控制显示器的设备之间通过协议定义按键指令的键值,显示器根据接收到的按键指令的键值判断是否是功能按键。

步骤s20,如果是功能按键指令,根据当前平台类型选择所述功能按键指令的处理方式。

显示器会根据不同的应用场景或市场需求设计多款机型,采用不同的机芯硬件,运行不同的机芯硬件平台。不同的机芯硬件平台会导致显示器能支持的软件功能不同,出于节省软件开发和软件维护成本的考虑,需要显示器上运行的软件平台系统兼容支持多种机芯硬件平台,能够识别出机芯硬件平台的类型,从而识别其支持的软件功能。

在本实施例中,显示器提供多种功能按键指令的处理方式,并且不同的机芯硬件平台所支持的处理方式不同。显示器在识别出接收的功能按键指令时,调用底层驱动函数获取当前运行的硬件平台类型,由此确定所支持的功能按键指令的处理方式。

步骤s30,根据所述功能按键指令的处理方式,运行和所述功能按键指令关联的应用处理,以处理所述功能按键指令。

显示器上运行的是安卓操作系统,系统基于操作系统之上的应用程序开发框架提供的组件来实现对功能按键指令的处理。

安卓应用程序开发框架中有四大组件:活动、服务、广播接收器、内容提供商。本实施例的技术方案中需要用到服务和广播接收器这两大组件。

服务是一种计算型组件,没有用户界面,用于在后台执行一系列计算任务,并且可以和其他组件进行交互。广播接收器是一种消息型组件,用于在不同的组件乃至不同的应用之间传递消息。基于服务和广播接收器这两种组件,系统能够提供发送广播消息和启动服务两种方式来处理功能按键指令。

当选择所述功能按键指令的处理方式是发送广播消息时,发送广播消息,以通知和所述功能按键指令关联的应用处理所述功能按键指令。

当选择所述功能按键指令的处理方式是启动服务时,启动和所述功能按键指令关联的应用,以处理所述功能按键指令。

下面描述系统基于服务和广播接收器两种组件处理功能按键指令的具体步骤:

1)有一个专门的应用进程来接收并处理收到的按键指令。当该应用程序根据预设的功能按键值判断出当前接收到的按键指令为功能按键指令时,根据获取的硬件平台类型判断,是发送广播消息还是启动服务。

2)当判断是发送广播消息,创建广播组件的子类,该子类调用sendbroadcast方法发送intent对象来发送广播消息,其他应用程序被动接收广播消息。

3)若经判断是启动服务,创建服务组件的子类,该子类调用startservice方法或者blindservice方法发送intent对象来启动服务,

收到该启动指令的应用程序被启动运行,以处理功能按键指令。

在本实施例中,通过识别出功能按键指令,根据平台类型选择发送广播消息或者启动服务方式来处理功能按键指令,实现了功能按键的全局操作,使功能按键指令在任何应用场景下都可以得到及时响应。

进一步的,参照图3,本发明第二实施例基于第一实施例提供一种按键处理的方法,本实施例在步骤s20之后还包括:

步骤s40,获取和所述功能按键指令关联的应用的标识符。

步骤s50,当选择所述功能按键指令的处理方式是发送广播消息时,发送携带所述标识符的广播消息,以供和所述功能按键关联的应用识别所述广播消息,并处理所述功能按键指令。

系统采用广播组件来实现发送广播消息,广播组件通过intent类的对象和应用程序组件进行通信。一个intent类的对象实质是一组信息,信息内容可以包括应用程序的标识符,用于指定将要处理该intent对象应用程序组件。

当和功能按键指令关联的应用程序收到承载于intent对象的广播消息时,通过读取intent对象携带的应用程序标识符识别出该广播消息需要处理时,立即根据该广播消息中携带的功能按键指令进行处理。

在本实施例中,通过发送携带和功能按键指令关联的应用程序的标识符的广播消息,实现了和功能按键指令关联的应用程序可以快速识别出需要处理的广播消息,提高了处理功能按键指令的效率。

进一步的,参照图4,本发明第三实施例基于第一实施例提供一种按键处理的方法,本实施例在步骤s20之后还包括:

步骤s60,获取和所述功能按键指令关联的应用的标识符。

步骤s70,当选择所述功能按键指令的处理方式是启动服务时,发送携带所述标识符的启动指令给和所述功能按键指令关联的应用,启动和所述功能按键指令关联的应用,以处理所述功能按键指令。

系统采用服务组件来实现启动应用程序组件,服务组件通过intent类的对象和应用程序组件进行通信。一个intent类的对象实质是一组信息,信息内容可以包括应用程序的标识符,用于指定将要处理该intent对象应用程序组件。

当和功能按键指令关联的应用程序收到承载于intent对象的启动指令时,通过读取intent对象携带的应用程序标识符识别出该启动指令需要响应,立即根据响应该启动指令并启动运行程序处理功能按键指令。

在本实施例中,通过发送携带和功能按键指令关联的应用程序的标识符的启动指令,实现了和功能按键指令关联的应用程序可以快速识别出需要响应的启动指令,提高了处理功能按键指令的效率。

进一步的,参照图5,本发明第四实施例基于第一实施例或第二实施例提供一种按键处理的方法,本实施例在步骤s20之后还包括:

步骤s80,当选择所述功能按键指令的处理方式是发送广播消息时,判断当前运行的应用是否可以处理所述功能按键指令。

步骤s90,若当前运行的应用不能处理所述功能按键指令,发送广播消息给其他功能按键应用。

当系统接收到功能按键指令时,如果选择的处理方式是发送广播消息,会增加系统中通信消息的传送负担,并有一定的处理延时。所以当确定了功能按键指令的处理方式为广播消息时,可以先判断当前运行的应用是否可以处理功能按键指令。如果当前运行的应用可以处理功能按键指令,直接发送单播消息给当前运行的应用,通知应用处理功能按键指令;如果当前运行的应用不能处理功能按键指令,再发送广播消息给其他的功能按键应用,等待和功能按键指令关联的应用对其进行处理。

在本实施例中,通过在发送广播消息之前先判断当前运行的应用是否可以处理功能按键指令,当其不能处理时再发广播消息给其他的功能按键应用,节省了系统的通信资源,优化了处理流程。

进一步的,参照图6,本发明第五实施例基于第一实施例或第三实施例提供一种按键处理的方法,本实施例在步骤s20之后还包括:

步骤s100,当选择所述功能按键指令的处理方式是启动服务时,判断当前运行的应用是否可以处理所述功能按键指令。

步骤s110,若当前运行的应用不能处理所述功能按键指令,启动和所述功能按键指令关联的应用,以处理所述功能按键指令。

当系统接收到功能按键指令时,如果选择的处理方式是启动服务,需要消耗系统处理资源,并有一定的处理延时。所以当确定了功能按键指令的处理方式为启动服务时,可以先判断当前运行的应用是否可以处理功能按键指令。如果当前运行的应用可以处理功能按键指令,直接发送单播消息给当前运行的应用,通知应用处理功能按键指令;如果当前运行的应用不能处理功能按键指令,再启动和功能按键指令关联的应用处理功能按键指令。

在本实施例中,通过在启动服务之前先判断当前运行的应用是否可以处理功能按键指令,当其不能处理时再启动和功能按键指令关联的应用处理功能按键,节省了系统的处理资源,提高处理效率。

进一步的,参照图7,本发明第六实施例基于第一实施例至第五实施例任一个实施例提供一种按键处理的方法,本实施例在步骤s10之前包括:

步骤s120,在系统初始化时创建发送广播消息的进程和启动服务的进程,并分别设置所述发送广播消息进程所支持的平台类型和所述启动服务进程所支持的平台类型。

在系统初始化时创建发送广播消息的进程和启动服务的进程,而且是分别创建独立的进程发送广播消息和运行服务。不在应用程序的进程中去发送广播或启动服务,可以避免应用程序运行结束时广播或服务被终止,在应用所在进程被结束时广播或服务依然运行,不受其他进程影响,有利于为多个进程提供广播和服务,具有较高的灵活性。

由于装置所采用的硬件芯片、硬件平台类型不同,能支持的功能按键指令处理方式有所不同,所以还需要分别设置发送广播消息进程所支持的平台类型和启动服务进程所支持的平台类型。

步骤s130,设置功能键应用支持接收所述广播消息进程发送的广播消息,同时设置所述功能键应用支持接收所述启动服务进程发送的启动指令。

功能键应用是指能处理对应的功能按键指令的应用程序组件,若要其支持接收广播消息或者启动指令,需要先在该应用组件的配置文件中注册广播接收器组件和服务组件,系统通过读取该应用的配置文件获应用所含的组件及其支持的功能。比如,系统通过<service>、<receiver>标签来判断应用程序是否包含服务组件、广播接收器组件。同时由于组件间的通信要依靠intent类的对象,功能键应用组件还需在其的配置文件中表明可以接收和响应intent对象的调用。

在本实施例中,通过在系统初始化时创建发送广播消息的进程和启动服务的进程,并分别设置两种处理方式所支持的平台类型,以及设置功能键应用的配置文件,实现了不同类型的功能键应用程序可以根据装置所运行的硬件平台类型灵活选取所支持的处理方式。

本发明还提供一种按键处理装置,按键处理装置包括:存储器、处理器、显示器及存储在所述存储器上并可在所述处理器上运行的按键处理程序,所述按键处理程序被所述处理器执行时实现所述的按键处理方法的步骤。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有按键处理程序,所述按键处理程序被处理器执行时实现所述的按键处理方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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