方法相对应,本发明还提供一种智能电视对模拟按键的响应装置。该装置可以通过硬件、软件或软硬件结合方式实现。该装置可以是指智能电视内部的功能模块,也可以是指智能电视本身,只要智能电视括实现该装置的功能即可。
[0073]图2示出了根据本发明一个实施例的智能电视对模拟按键的响应装置示意图。该装置包括:
[0074]按键信息接收单元201,用于通过模拟按键应用程序接收按键信息,其中,所述模拟按键应用程序是安装在智能电视的操作系统中的、负责处理由终端发送来的模拟按键的应用程序;
[0075]响应函数获取单元202,用于在接收到按键信息后,利用所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数;
[0076]按键执行单元203,用于通过运行所述控制按键响应的函数,执行所述按键对应的操作。
[0077]优选的,所述响应函数获取单元202具体用于:利用所述模拟按键应用程序调用预先设置在所述智能电视操作系统中的、与所述模拟按键应用程序对应的插件,该插件具有与智能电视设备相同的签名;利用所述模拟按键应用程序通过跨进程接口方式将按键信息传入到插件中,由插件利用操作系统中控制按键响应的函数执行对按键信息的响应。
[0078]进一步,所述插件使用操作系统专属软件开发包中提供的系统类方法执行对按键信息的响应。
[0079]进一步,所述插件执行安卓操作系统专属软件开发工具包中的Instrumentat1n类所提供的 sendKeyDownUpSync、sendPointerSync,或 / 和,sendKeySync 方法,从而实现对按键信息的响应。
[0080]优选的,所述响应函数获取单元202具体用于:利用所述模拟按键应用程序预先获取到智能电视操作系统的root权限,并通过执行输入进程,由所述输入进程利用操作系统中控制按键响应的函数实现对按键信息的响应。
[0081]进一步,还包括:输入进程创建单元,用于创建所述输入进程,并开启所述输入进程并获取输出流;其中,所述模拟按键应用程序通过所述输出流向所述输入进程写入解析按键信息的指令;所述按键执行单元203具体用于:利用所述输入进程接收所述解析按键信息的指令,并通过执行操作系统中控制按键响应的函数,从而实现对按键信息的响应。
[0082]进一步,所述输入进程使用System, in从所述模拟按键应用程序接收所述解析按键信息的指令,然后将解析按键信息的指令发送给智能电视操作系统中的InputManager类的injectlnputEvent方法执行,从而实现对按键信息的响应。
[0083]优选的,所述响应函数获取单元202具体用于:利用所述模拟按键应用程序确定所述智能电视操作系统中存在adb命令且adb命令可用情况下,通过执行adb命令来实现对按键信息的响应。
[0084]进一步,所述响应函数获取单元202通过查找adb文件路径方式判断adb命令是否存在,当确定adb命令存在之后,通过执行显示设备信息确定adb命令是否可用。
[0085]进一步,所述响应函数获取单元202通过执行adb shell命令实现对按键信息的响应。
[0086]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0087]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0088]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0089]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0090]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0091 ] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的智能电视对模拟按键的响应装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0092]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0093]本发明提供如下方案:
[0094]Al、一种智能电视对模拟按键的响应方法,包括:
[0095]模拟按键应用程序接收按键信息,其中,所述模拟按键应用程序安装在智能电视的操作系统中,所述模拟按键应用程序负责处理由终端发送来的模拟按键;
[0096]在接收到按键信息后,所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数;
[0097]通过运行所述控制按键响应的函数,执行所述按键对应的操作。
[0098]A2、如Al所述的方法,所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数包括:
[0099]所述模拟按键应用程序调用预先设置在所述智能电视操作系统中的插件,该插件是与所述模拟按键应用程序对应的插件,并且该插件具有与智能电视设备相同的签名;
[0100]所述模拟按键应用程序通过跨进程接口方式将按键信息传入到插件中,由插件利用操作系统中控制按键响应的函数执行对按键信息的响应。
[0101]A3、如A2所述的方法,所述插件使用操作系统专属软件开发包中提供的系统类方法执行对按键信息的响应。
[0102]A4、如A3所述的方法,所述插件执行安卓操作系统专属软件开发工具包中的Instrumentat1n 类所提供的 sendKeyDownUpSync>sendPointerSync,或 / 和,sendKeySync方法,从而实现对按键信息的响应。
[0103]A5、如Al所述的方法,所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数包括:
[0104]所述模拟按键应用程序预先获取到智能电视操作系统的root权限,并通过执行输入进程,由所述输入进程利用操作系统中控制按键响应的函数实现对按键信息的响应。
[0105]A6、如A5所述的方法,还包括:创建所述输入进程;开启所述输入进程并获取输出流;所述模拟按键应用程序通过所述输出流向