智能电视对模拟按键的响应方法及装置的制造方法_2

文档序号:9892082阅读:来源:国知局
更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0032]本发明提供一种在智能电视端对模拟按键进行响应的方法。可以理解,实现该方法的系统至少包括智能电视以及发出模拟按键的终端,终端可以是手机、键盘、电视遥控器等能发出按键指令的设备;并且,智能电视与终端需要通过网络等方式连接。在智能终端上运行操作系统,并且在操作系统上安装有服务端的应用程序,该应用程序负责与终端通信,接收模拟按键信息,并启动响应模拟按键的后续步骤。该应用程序的一个实际例子是“乐视助手”软件等。
[0033]下面以智能电视中运行Android操作系统为例,对本发明实施例进行详细说明。
[0034]智能电视对模拟按键响应的大致流程是:电视端接受设备输入键值,由电视端执行命令或者调用方法,把对应键值传入系统,这时,电视就会响应键值,达到遥控的效果。这就涉及到一个获取智能终端中操作系统的权限问题。如何获取较高的系统权限或操作权限,是本技术的一个难点。其中,系统权限(System权限),是android设备运行的管理权限,是较高的权限,获取系统权限后可以进行一些系统设置,以及调用系统API (应用程序编程接口)等。
[0035]参见图1,为本发明实施例提供的智能电视对模拟按键的响应方法流程图,该方法包括以下步骤:
[0036]SlOl:模拟按键应用程序(模拟按键APP)接收按键信息,该模拟按键APP是安装在智能电视操作系统中并与终端发送的模拟按键对应的应用程序;
[0037]本领域人员可以理解,该模拟按键APP不但可以接收并处理由非电视遥控器例如手机等发来的模拟按键信息,当然也可以接收并处理由电视遥控器发送来的按键信息,也就是,该模拟按键APP可以将传统的遥控器发来的按键信息与非遥控器例如手机等发来的按键信息进行统一处理,只要是按键类型信息即可。
[0038]其中,按键信息包括多种形式的信息,比如常规电视遥控器输入的数字、上下左右键、退出键、返回键等等,另外还包括从手机或键盘终端输入的文字信息,例如在智能电视操作界面上提供的搜索框内输入待查找的视频,比如,通过输入汉字“星际穿越”查找电影坐寸ο
[0039]S102:在接收到按键信息后,模拟按键APP启动调用智能电视的操作系统中的应用程序编程接口(API)的过程,获取操作系统中控制按键响应的函数;
[0040]S103:通过运行控制按键响应的函数,执行按键对应的操作。
[0041]可见,通过在智能电视上安装负责与模拟按键对应的应用程序,并在该应用程序接收到按键信息后,调用智能电视操作系统API,从而获取到操作系统中负责控制按键响应的函数,最终实现按键对应的操作。在具体实现过程中,可以有多种方式实现对系统API的调用。例如,通过获取系统权限从而调用设置在系统中的、具有与系统签名的插件来实现,或者,通过获取root权限从而利用input脚本实现,或者,通过操作系统中已经开启的adb指令调用来实现等。
[0042]下面对这三种方式分别予以详细介绍。
[0043]第一实施例:通过调用系统API实现
[0044]本实施例中,API调用方式是使用预先设置的、与模拟按键APP对应的插件(单独的APK),电视端接受到手机等传送来的键值后,通过AIDL(android跨进程接口语言)方式将键值传入插件中,由插件执行对按键信息的响应。
[0045]其中,插件(Plug-1n,又称addin、add_in、addon 或 add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。因为插件需要调用原纯净系统提供的函数库或者数据。很多软件都有插件,插件有无数种。APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件和sis—样,把android sdk编译的工程打包成一个安装程序文件,格式为APK。
[0046]在本实施例中,插件是模拟按键APP的插件,是一个单独的APK文件。该插件的功能可通过使用Android sdk(Android专属的软件开发工具包)中提供的方法来执行。Sdk 中 android, app.1nstrumentat1n 类提供 SendKeyDownUpSync> sendPointerSync、sendKeySync等一系列方法,只要把接收到的键值传入到到上述方法中即可。其中,Instrumentat1n是执行applicat1n instrumentat1n代码的基类,当应用程序运行的时候instrumentat1n处于开启,Instrumentat1n将在任何应用程序运行前初始化,可以通过它监测系统与应用程序之间的交互。
[0047]需要说明的是,本实施例中,需要插件具有与智能电视的操作系统同样的签名,也就是该插件具有系统权限,因此才能通过上述Android sdk提供的方式实现对按键信息的响应。否则,如果插件没有系统签名,则只能在自己的模拟按键APP中进行遥控,在其他应用程序中是无法进行遥控的。其中,系统签名的获得需要电视设备厂商提供。
[0048]第二实施例:调用input执行
[0049]在本实施例中,需要模拟按键APP预先获取到智能电视操作系统的root权限。关于如何获取到root权限则不是本发明讨论的。
[0050]在模拟按键APP获取到root权限后,可以执行一个新的input进程(输入进程),由模拟按键APP向此进程发送解析按键信息的指令,由于input进程是用root权限启动,所以input进程也具有较高的权限。
[0051]开启新进程方式为:exec app_process进程目录进程类全名参数;
[0052]开启进程后可以获取一个输出流outputstream ;
[0053]模拟按键APP可以通过这个输出流向input进程写入对按键信息进行响应的指令。
[0054]Input进程使用System, in接收模拟按键APP指令,然后交给InputManager类的injectlnputEvent方法执行,从而实现对按键信息的响应。其中,InputManager是Android的输入管理器,可以设置项目的各种输入和操作。
[0055]第三实施例:使用adb命令(指令)调用
[0056]本领域技术人员了解,ADB (Android Debug Bridge,安卓调试桥)是Android提供的一个通用的调试工具,借助这个工具,可以很好的调试开发的程序,adb.exe在android的sdk开发包platform-tools目录下。
[0057]该实施例的调用相对比较简单,只要智能电视操作系统中存在adb指令并且可以使用即可。
[0058]I)首先,需要判断adb指令是否存在
[0059]例如,使用File (“/system/bin./adb”).exists ()判断,Adb 文件路径是 /system/bin/adb。
[0060]2)其次,判断adb是否可用
[0061]例如,可以执行adb devices来判断,此时会显示
[0062]List of devices attached
[0063]emulator-5554 device
[0064]127.0.0.1:5555 device 内容
[0065]其中,Emulator-5554和127.0.0.1:5555只要存在一个就表示adb可以使用。
[0066]3)最后,执行adb指令
[0067]例如,如adb指令可以使用,就可以使用如下指令:
[0068]“adb - s emulator-5554 (127.0.0.1:5555) shell input keyevent XX (XX 代表键值)”来执行。另外,也可以传入其他指令来执行,例如:使用如下指令:
[0069]“adb - s emulator-5554 (127.0.0.1:5555) shell input text XX(XX 代表输入内容)”。
[0070]以上是对本发明提供的智能电视对模拟按键的响应方法的介绍。
[0071]通过本发明实施例提供的方法,可以使得智能电视除了可以响应除了标配的遥控器之外,还可以响应其他设备的输入按键。比如,响应手机或平板电脑或者键盘输入的按键信息等。
[0072]与上述
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1