智能电视对模拟按键的响应方法及装置的制造方法
【技术领域】
[0001]本发明涉及智能电视技术领域,具体涉及一种智能电视对模拟按键的响应方法及
目.ο
【背景技术】
[0002]智能电视是顺应电视机“高清化”、“网络化”、“智能化”的趋势而出现的一种智能多媒体终端,具备从因特网、视频设备、计算机等多种渠道获得节目内容,通过简单易用的整合式操作界面将消费者最需要的内容在大屏幕上清晰地展示的功能。与传统电视的应用平台相比,智能电视可实现网络搜索、网络电视、视频点播、数字音乐、网络新闻、网络视频电话等各种应用服务。智能电视机正在成为继计算机、手机之后的第三种信息访问终端,用户可随时访问自己需要的信息。
[0003]在计算机上使用URL地址访问网络资源或通过搜索引擎进行网络搜索时,通过键盘可以很方便地进行操作;而在使用智能电视进行上述操作时,由于硬件本身的限制,一般通过电视机配置的遥控器进行选择性等操作。但是,每个厂商配置不同的遥控器,而且遥控器容易没电甚至丢失,因此在手机普通使用的当今,可以尝试使用手机等终端发出模拟按键来操控智能电视。所谓电视端模拟按键功能,就是指可以接受除了遥控器发送的指令外,还可以响应其他设备(例如手机)对电视发送的指令。这样做可以不用区分电视品牌,减少用户对遥控器的依赖。
【发明内容】
[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的智能电视对模拟按键的响应方法及装置。
[0005]依据本发明的一个方面,提供一种智能电视对模拟按键的响应方法,包括:模拟按键应用程序接收按键信息,其中,所述模拟按键应用程序安装在智能电视的操作系统中,所述模拟按键应用程序负责处理由终端发送来的模拟按键;在接收到按键信息后,所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数;通过运行所述控制按键响应的函数,执行所述按键对应的操作。
[0006]优选的,所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数包括:所述模拟按键应用程序调用预先设置在所述智能电视操作系统中的插件,该插件是与所述模拟按键应用程序对应的插件,并且该插件具有与智能电视设备相同的签名;所述模拟按键应用程序通过跨进程接口方式将按键信息传入到插件中,由插件利用操作系统中控制按键响应的函数执行对按键信息的响应。
[0007]优选的,所述插件使用操作系统专属软件开发包中提供的系统类方法执行对按键信息的响应。
[0008]优选的,所述插件执行安卓操作系统专属软件开发工具包中的Instrumentat1n类所提供的 sendKeyDownUpSync、sendPointerSync,或 / 和,sendKeySync 方法,从而实现对按键信息的响应。
[0009]优选的,所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数包括:所述模拟按键应用程序预先获取到智能电视操作系统的root权限,并通过执行输入进程,由所述输入进程利用操作系统中控制按键响应的函数实现对按键信息的响应。
[0010]优选的,还包括:创建所述输入进程;开启所述输入进程并获取输出流;所述模拟按键应用程序通过所述输出流向所述输入进程写入解析按键信息的指令;所述输入进程利用操作系统中控制按键响应的函数实现对按键信息的响应包括:所述输入进程接收所述解析按键信息的指令,并通过执行操作系统中控制按键响应的函数,从而实现对按键信息的响应。
[0011]优选的,所述输入进程使用System, in从所述模拟按键应用程序接收所述解析按键信息的指令,然后将解析按键信息的指令发送给智能电视操作系统中的InputManager类的injectlnputEvent方法执行,从而实现对按键信息的响应。
[0012]优选的,所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数包括:所述模拟按键应用程序确定所述智能电视操作系统中存在adb命令且adb命令可用情况下,通过执行adb命令来实现对按键信息的响应。
[0013]优选的,通过查找adb文件路径方式判断adb命令是否存在,当确定adb命令存在之后,通过执行显示设备信息确定adb命令是否可用。
[0014]优选的,通过执行adb shell命令实现对按键信息的响应。
[0015]依据本发明的另一个方面,提供一种智能电视对模拟按键的响应装置,包括:按键信息接收单元,用于通过模拟按键应用程序接收按键信息,其中,所述模拟按键应用程序安装在智能电视的操作系统中,所述模拟按键应用程序负责处理由终端发送来的模拟按键;响应函数获取单元,用于在接收到按键信息后,利用所述模拟按键应用程序调用所述操作系统中的应用程序编程接口,获取操作系统中控制按键响应的函数;按键执行单元,用于通过运行所述控制按键响应的函数,执行所述按键对应的操作。
[0016]优选的,所述响应函数获取单元具体用于:利用所述模拟按键应用程序调用预先设置在所述智能电视操作系统中的插件,其中,该插件是与所述模拟按键应用程序对应的插件,并且该插件具有与智能电视设备相同的签名;以及,利用所述模拟按键应用程序通过跨进程接口方式将按键信息传入到插件中,由插件利用操作系统中控制按键响应的函数执行对按键信息的响应。
[0017]优选的,所述插件使用操作系统专属软件开发包中提供的系统类方法执行对按键信息的响应。
[0018]优选的,所述插件执行安卓操作系统专属软件开发工具包中的Instrumentat1n类所提供的 sendKeyDownUpSync、sendPointerSync,或 / 和,sendKeySync 方法,从而实现对按键信息的响应。
[0019]优选的,所述响应函数获取单元具体用于:利用所述模拟按键应用程序预先获取到智能电视操作系统的root权限,并通过执行输入进程,由所述输入进程利用操作系统中控制按键响应的函数实现对按键信息的响应。
[0020]优选的,还包括:输入进程创建单元,用于创建所述输入进程,并开启所述输入进程并获取输出流;其中,所述模拟按键应用程序通过所述输出流向所述输入进程写入解析按键信息的指令;所述按键执行单元具体用于:利用所述输入进程接收所述解析按键信息的指令,并通过执行操作系统中控制按键响应的函数,从而实现对按键信息的响应。
[0021]优选的,所述输入进程使用System, in从所述模拟按键应用程序接收所述解析按键信息的指令,然后将解析按键信息的指令发送给智能电视操作系统中的InputManager类的injectlnputEvent方法执行,从而实现对按键信息的响应。
[0022]优选的,所述响应函数获取单元具体用于:利用所述模拟按键应用程序确定所述智能电视操作系统中存在adb命令且adb命令可用情况下,通过执行adb命令来实现对按键信息的响应。
[0023]优选的,所述响应函数获取单元通过查找adb文件路径方式判断adb命令是否存在,当确定adb命令存在之后,通过执行显示设备信息确定adb命令是否可用。
[0024]优选的,所述响应函数获取单元通过执行adb shell命令实现对按键信息的响应。
[0025]可见,通过在智能电视上安装负责与模拟按键对应的应用程序,并在该应用程序接收到按键信息后,调用智能电视操作系统API,从而获取到操作系统中负责控制按键响应的函数,最终实现按键对应的操作。在具体实现过程中,可以有多种方式实现对系统API的调用。例如,通过获取系统权限从而调用设置在系统中的、具有与系统签名的插件来实现,或者,通过获取root权限从而利用input脚本实现,或者,通过操作系统中已经开启的adb指令调用来实现等。
[0026]通过本发明实施例提供的方案,可以使得智能电视除了可以响应除了标配的遥控器之外,还可以响应其他设备的输入按键,比如,响应手机或平板电脑或者键盘输入的按键信息等。
[0027]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0028]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0029]图1示出了根据本发明一个实施例的智能电视对模拟按键的响应方法流程图;以及
[0030]图2示出了根据本发明一个实施例的智能电视对模拟按键的响应装置结构示意图。
【具体实施方式】
[0031]下面将参照附图