• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 11
    • 下载费用:30 金币  

    重庆时时彩前二杀尾: 一种基于虚拟输入设备实现对ANDROID智能电视操控的方法.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201410026316.8

    申请日:

    2014.01.21

    公开号:

    CN103796058A

    公开日:

    2014.05.14

    当前法律状态:

    驳回

    有效性:

    无权

    法律详情: 发明专利申请公布后的驳回IPC(主分类):H04N 21/422申请公布日:20140514|||实质审查的生效IPC(主分类):H04N 21/422申请日:20140121|||公开
    IPC分类号: H04N21/422(2011.01)I; G06F3/01 主分类号: H04N21/422
    申请人: 四川长虹电器股份有限公司
    发明人: 杨恩泽; 周建波
    地址: 621000 四川省绵阳市高新区绵兴东路35号
    优先权:
    专利代理机构: 成都虹桥专利事务所(普通合伙) 51124 代理人: 刘世平
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410026316.8

    授权公告号:

    ||||||

    法律状态公告日:

    2018.03.27|||2014.06.11|||2014.05.14

    法律状态类型:

    发明专利申请公布后的驳回|||实质审查的生效|||公开

    摘要

    本发明涉及智能电视技术领域,其公开了一种基于虚拟输入设备实现对Android智能电视操控的方法,解决传统技术中由于缺少输入设备的支持导致Android智能电视上的部分应用程序无法操控的问题。其包括:a.在Android系统初始化时,创建虚拟输入设备,生成虚拟输入设备节点;b.在Android系统内置虚拟输入设备写入接口的动态库;c.当有输入事件需要使用虚拟输入设备时,调用虚拟输入设备写入接口;d.虚拟输入设备写入接口将调用者传递的数据按照相应格式进行组织,然后写入虚拟输入设备节点;e.Andriod系统对输入事件读取、分类和包装,然后派发给当前应用程序;f.当前应用程序接收来自虚拟输入设备的输入事件,并对该输入事件进行响应。本发明适用于对Android智能电视操控。

    权利要求书

    权利要求书
    1.  一种基于虚拟输入设备实现对Android智能电视操控的方法,其特征在于,包括以下步骤:
    a.在Android系统初始化时,创建虚拟输入设备,生成虚拟输入设备节点;
    b.在Android系统内置虚拟输入设备写入接口的动态库;
    c.当有输入事件需要使用虚拟输入设备时,调用虚拟输入设备写入接口;
    d.虚拟输入设备写入接口将调用者传递的数据按照相应格式进行组织,然后写入虚拟输入设备节点;
    e.Andriod系统对输入事件读取、分类和包装,然后派发给当前应用程序;
    f.当前应用程序接收来自虚拟输入设备的输入事件,并对该输入事件进行响应。

    2.  如权利要求1所述的一种基于虚拟输入设备实现对Android智能电视操控的方法,其特征在于,步骤a中,采用向系统集成与虚拟输入设备相对应的设备驱动程序的方式或采用设备创建器来创建虚拟输入设备的方式来完成虚拟输入设备的创建,虚拟输入设备创建之后在系统输入设备路径下生成相应的虚拟输入设备节点。

    3.  如权利要求1所述的一种基于虚拟输入设备实现对Android智能电视操控的方法,其特征在于,步骤b中,所述动态库中提供的虚拟输入设备写入接口按照虚拟输入设备类型与虚拟输入设备节点一一对应,所述写入接口被封装成两种形式,供Java层及Native层调用,用于将调用者传递的数据写入虚拟输入设备节点。

    4.  如权利要求1所述的一种基于虚拟输入设备实现对Android智能电视操控的方法,其特征在于,步骤d中,虚拟输入设备节点被写入数据之后,等待Android系统对输入事件的轮询。

    5.  如权利要求1-4任意一项所述的一种基于虚拟输入设备实现对Android智能电视操控的方法,其特征在于,所述虚拟输入设备包括:虚拟??仄?、虚拟键盘、虚拟鼠标、虚拟多点触控、虚拟GSensor、虚拟陀螺仪、虚拟地磁仪。

    说明书

    说明书一种基于虚拟输入设备实现对Android智能电视操控的方法
    技术领域
    本发明涉及智能电视技术领域,特别涉及一种基于虚拟输入设备实现对Android智能电视操控的方法。
    背景技术
    基于Android系统的智能电视产品,不仅具有传统电视的功能,还支持海量Android应用程序,丰富的应用程序拓宽了电视的功能。许多Android应用程序最初是针对手机、PAD等移动设备开发的,应用程序的操控用到了移动设备的触摸屏、传感器等输入设备。而目前的智能电视操控设备还是以??仄魑?,而且通常不会集成触摸屏或传感器等输入设备,这就造成这些应用程序虽然可以在智能电视上运行,但是由于缺少输入设备的支持,导致这些应用程序无法操控。
    发明内容
    本发明所要解决的技术问题是:提出一种基于虚拟输入设备实现对Android智能电视操控的方法,解决传统技术中由于缺少输入设备的支持导致Android智能电视上的部分应用程序无法操控的问题。
    本发明解决上述技术问题所采用的技术方案是:
    一种基于虚拟输入设备实现对Android智能电视操控的方法,包括以下步骤:
    a.在Android系统初始化时,创建虚拟输入设备,生成虚拟输入设备节点;
    b.在Android系统内置虚拟输入设备写入接口的动态库;
    c.当有输入事件需要使用虚拟输入设备时,调用虚拟输入设备写入接口;
    d.虚拟输入设备写入接口将调用者传递的数据按照相应格式进行组织,然后写入虚拟输入设备节点;
    e.Andriod系统对输入事件读取、分类和包装,然后派发给当前应用程序;
    f.当前应用程序接收来自虚拟输入设备的输入事件,并对该输入事件进行响应。
    具体的,步骤a中,采用向系统集成与虚拟输入设备相对应的设备驱动程序的方式或采用设备创建器来创建虚拟输入设备的方式来完成虚拟输入设备的创建,虚拟输入设备创建之后在系统输入设备路径下生成相应的虚拟输入设备节点。
    具体的,步骤b中,所述动态库中提供的虚拟输入设备写入接口按照虚拟输入设备类型与虚拟输入设备节点一一对应,所述写入接口被封装成两种形式,供Java层及Native层调用,用于将调用者传递的数据写入虚拟输入设备节点。
    具体的,步骤d中,虚拟输入设备节点被写入数据之后,等待Android系统对输入事件的轮询。
    具体的,所述虚拟输入设备包括:虚拟??仄?、虚拟键盘、虚拟鼠标、虚拟多点触控、虚拟GSensor、虚拟陀螺仪、虚拟地磁仪。
    本发明的有益效果是:在Android智能电视产品在不具备某些实际的输入设备时,可以虚拟出需要的输入设备,通过对虚拟输入设备的输入操作,实现对依赖于该输入设备的应用程序的操控,满足用户的多元化操控需求。
    附图说明
    图1为实施例中的实现对Android智能电视操控方法流程图;
    图2为使用设备创建器创建虚拟输入设备的流程图;
    图3为虚拟输入设备写入接口的实现流程图。
    具体实施方式
    本发明旨在提出一种基于虚拟输入设备实现对Android智能电视操控的方法,解决传统技术中由于缺少输入设备的支持导致Android智能电视上的部分应用程序无法操控的问题。本发明在Android系统刚开始启动进行系统初始化时进行虚拟输入设备的创建,然后内置虚拟输入设备数据写入接口的动态库,通过调用接口,向接口传递数据实现对虚拟输入设备的使用。
    下面结合附图及实施例对本发明的方案作进一步的描述:
    如图1所示,本例中的基于虚拟输入设备实现对Android智能电视操控的方法,包括以下实现步骤:
    步骤11.创建虚拟输入设备,生成虚拟输入设备节点:即在Android系统初始化时,完成虚拟输入设备的创建,可以采用向系统集成与虚拟输入设备相对应的设备驱动程序的方式或采用设备创建器来创建虚拟输入设备的方式来完成虚拟输入设备的创建,虚拟输入设备创建之后在系统输入设备路径下生成相应的虚拟输入设备节点;
    步骤12.在Android系统内置虚拟输入设备写入接口的动态库:动态库中所提供的虚拟输入设备数据写入接口按照虚拟输入设备类型与虚拟输入设备节点一一对应,即对于某一确定类型的虚拟输入设备,其在创建时设定的设备属性信息,在实现接口时需要加以使用,以找到该种虚拟输入设备对应的虚拟输入设备节点进行数据写入;
    步骤13.当有输入事件需要使用虚拟输入设备时,调用虚拟输入设备写入接口:由于虚拟输入设备已经创建完成,随时可以通过调用接口来使用虚拟输入设备,接口被封装成两种形式,可供Java层及Native层调用,在调用接口时,将对应的虚拟输入设备的数据传入接口,接口所 传递的数据格式需要与创建虚拟输入设备时的设定相匹配;
    步骤14.虚拟输入设备写入接口将调用者传递的数据按照相应格式进行组织,然后写入虚拟输入设备节点;虚拟输入设备节点被写入数据之后,等待Android系统对输入事件的轮询;
    步骤15.Andriod系统对输入事件读取、分类和包装,然后派发给当前应用程序;
    步骤16.当前应用程序接收来自虚拟输入设备的输入事件,并对该输入事件进行响应。
    以虚拟鼠标设备为例,对于虚拟输入设备的创建流程如图2所示:
    步骤21,打开设备创建器,获取设备创建器描述符uinp_fd:使用open函数打开设备创建器,获取到设备创建器的文件描述符uinp_fd。示例代码如下:
    static int uinp_fd=-1;
    uinp_fd=open("/dev/uinput",O_WRONLY|O_NDELAY);
    步骤22,根据需要创建的虚拟输入设备设置uinp_fd:通过ioctl()设置uinp_fd,依据需要创建的虚拟输入设备特征进行设置。以虚拟鼠标设备为例,配置过程如下:
    ioctl(uinp_fd,UI_SET_EVBIT,EV_KEY);
    ioctl(uinp_fd,UI_SET_EVBIT,EV_REL);
    ioctl(uinp_fd,UI_SET_KEYBIT,BTN_MIDDLE);
    ioctl(uinp_fd,UI_SET_KEYBIT,BTN_LEFT);
    ioctl(uinp_fd,UI_SET_KEYBIT,BTN_RIGHT);
    ioctl(uinp_fd,UI_SET_RELBIT,REL_X);
    ioctl(uinp_fd,UI_SET_RELBIT,REL_Y);
    ioctl(uinp_fd,UI_SET_RELBIT,REL_WHEEL);
    步骤23,创建并初始化uinput_user_dev结构对象uinp:初始化内容包括设备名称、设备版本、总线类型等。示例代码如下:
    #define VIRTUAL_MOUSE"Virtual Mouse"
    struct uinput_user_dev uinp;
    memset(&uinp,0x00,sizeof(uinp));
    strncpy(uinp.name,VIRTUAL_MOUSE,strlen(VIRTUAL_MOUSE));
    uinp.id.version=1;
    uinp.id.bustype=BUS_USB;
    步骤24,将uinp写入uinp_fd:通过write()将步骤23创建的uinp写入步骤21获取到的文件描述符uinp_fd。示例代码如下:
    write(uinp_fd,&uinp,sizeof(uinp))!=sizeof(uinp);
    步骤25,创建虚拟输入设备:使用ioctl()创建虚拟输入设备。示例代码如下:
    ioctl(uinp_fd,UI_DEV_CREATE);
    此步骤成功执行后,会在/dev/input下创建一个名为VirtualMouse的鼠标设备节点。
    以虚拟鼠标数据写入接口为例,对于虚拟输入设备写入即接口的实现流程如图3所示:
    步骤31,定义接口:依据虚拟输入设备类型及所产生的数据对虚拟输入设备接口的名称及参数列表、返回值进行定义。虚拟鼠标接口定义如下:
    int sendVirtualMouseEvent(int action,int posX,int posY);
    其中接口名称体现虚拟输入设备类型,参数列表对应虚拟输入设备所产生的数据格式,返回值用于判断接口是否成功将数据写入设备节点。
    参数列表中的action表示鼠标当前行为,其定义如下:

    参数列表中的posX与posY表示鼠标在X及Y轴方向的相对位移。
    注:以上接口定义是Navitve层的格式,可以通过JNI的方式以相同格式将接口定义于Java层。
    步骤32,打开虚拟输入设备节点:打开设备名为“Virtual Mouse”的/dev/input/路径下的相应event节点,获取到文件描述符fd。示例代码如下:
    static int mFD=-1;
    mFD=openInput("Virtual Mouse");
    步骤33,封装数据:按照鼠标设备所产生数据,对传递到接口内的数据进行封装,示例代码如下:

    步骤34,将封装后的数据写入节点:通过write()将传入接口的数据写入相应虚拟输入设备节点。将步骤33封装后的ievent数据写入虚拟鼠标设备节点mFD的示例代码如下:
    write(mFD,&ievent[0],sizeof(ievent[0]));
    write(mFD,&ievent[1],sizeof(ievent[1]));
    write(mFD,&ievent[2],sizeof(ievent[2]));
    此步骤执行之后,数据被写入虚拟输入设备节点,Android系统通过对输入事件的轮询获取到相应的输入数据,最终传递给当前应用程序。
    本发明中的虚拟输入设备在创建完成之后,系统运行时存在相应的设备节点,及与设备节点相关联的虚拟输入设备接口。在需要产生虚拟输入事件的地方调用虚拟输入设备接口,将待产生的输入事件转化为数据作为参数传递给虚拟输入设备接口即完成了一次虚拟输入设备的使用。
    当Android智能电视具备了虚拟输入设备之后,受控于某种输入设备的应用程序可以通过使用虚拟输入设备来操控该应用程序。此处列举两个典型例子:一个是使用智能语音实现本地控制,比如通过语音输入令电视切换到指定频道,可以使用虚拟??仄魃璞覆惶ㄖ噶钍迪?;一个是多屏互动,使用手机、PAD等设备的触摸屏来控制电视应用,可以将手机、PAD设备产生的触摸数据传递给虚拟多点触控设备产生电视端的触控事件来操控电视应用。
    需要说明的是,本发明要求?;さ姆段О唤鱿抻谏鲜鍪凳├?,本领域技术人员根据以上描述在不脱离本发明精神实质的情况下对本发明的技术内容作出的等同修改/替换,均在本发明的?;し段е?。

    关 键 词:
    一种 基于 虚拟 输入 设备 实现 ANDROID 智能 电视 操控 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种基于虚拟输入设备实现对ANDROID智能电视操控的方法.pdf
    链接地址://www.4mum.com.cn/p-6156781.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03