书签 分享 收藏 举报 版权申诉 / 16

基于ANDROID操作系统的鼠标指针控制方法和装置.pdf

  • 上传人:62****3
  • 文档编号:1667858
  • 上传时间:2018-07-03
  • 格式:PDF
  • 页数:16
  • 大小:775.88KB
  • 摘要
    申请专利号:

    CN201310571695.4

    申请日:

    2013.11.14

    公开号:

    CN104636158A

    公开日:

    2015.05.20

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 9/445申请日:20131114|||公开

    IPC分类号:

    G06F9/445

    主分类号:

    G06F9/445

    申请人:

    博雅网络游戏开发(深圳)有限公司

    发明人:

    王斌

    地址:

    518057广东省深圳市南山区中山园路1001号TCL产业园国际E城D3栋9B-C

    优先权:

    专利代理机构:

    广州华进联合专利商标代理有限公司44224

    代理人:

    何平

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供了一种基于Android操作系统的鼠标指针控制方法,所述方法包括:在当前程序界面中生成鼠标指针并初始化;接收指针移动指令;根据所述指针移动指令确定所述鼠标指针的目标位置坐标;根据所述目标位置坐标更新所述鼠标指针的位置。本发明提供的基于Android操作系统的鼠标指针控制方法,在当前程序界面中生成鼠标指针并初始化后,当接收到指针移动指令时,根据该指针移动指令确定了鼠标指针的目标位置坐标,从而根据该目标位置坐标更新鼠标指针的位置。在Android操作系统中实现了鼠标指针和对鼠标指针的控制,且无需修改Android操作系统的底层,开发成本低。本发明还提供了一种基于Android操作系统的鼠标指针控制装置。

    权利要求书

    权利要求书
    1.  一种基于Android操作系统的鼠标指针控制方法,所述方法包括:
    在当前程序界面中生成鼠标指针并初始化;
    接收指针移动指令;
    根据所述指针移动指令确定所述鼠标指针的目标位置坐标;
    根据所述目标位置坐标更新所述鼠标指针的位置。

    2.  根据权利要求1所述的方法,其特征在于,所述方法还包括:
    接收确定操作指令;
    根据所述确定操作指令,获取所述鼠标指针当前所在的位置坐标;
    根据所述鼠标指针当前所在的位置坐标生成模拟事件;
    向所述当前程序注入所述模拟事件。

    3.  根据权利要求1所述的方法,其特征在于,所述根据所述指针移动指令 确定所述鼠标指针的目标位置坐标,包括:
    根据所述指针移动指令获取当前程序中的焦点位置;
    根据所述焦点位置确定所述鼠标指针的目标位置坐标。

    4.  根据权利要求3所述的方法,其特征在于,所述方法还包括:
    接收确定操作指令;
    根据所述确定操作指令确定当前程序中焦点所在的控件;
    执行所述焦点所在的控件对应的操作。

    5.  根据权利要求2或4所述的方法,其特征在于,所述接收确定操作指令 的步骤为接收遥控器发送的确定操作指令。

    6.  一种基于Android操作系统的鼠标指针控制装置,其特征在于,所述装 置包括:
    鼠标指针生成模块,用于在当前程序界面中生成鼠标指针并初始化;
    指令接收模块,用于接收指针移动指令;
    目标位置坐标确定模块,用于根据所述指针移动指令确定所述鼠标指针的 目标位置坐标;
    位置更新模块,用于根据所述目标位置坐标更新所述鼠标指针的位置。

    7.  根据权利要求6所述的装置,其特征在于,所述指令接收模块还用于接 收确定操作指令;
    所述装置还包括:
    位置坐标获取模块,用于根据所述确定操作指令,获取所述鼠标指针当前 所在的位置坐标;
    模拟事件生成模块,用于根据所述鼠标指针当前所在的位置坐标生成模拟 事件;
    注入模块,用于向所述当前程序注入所述模拟事件。

    8.  根据权利要求6所述的装置,其特征在于,所述目标位置坐标确定模块 包括:
    焦点位置获取模块,用于根据所述指针移动指令获取当前程序中的焦点位 置;
    确定模块,用于根据所述焦点位置确定所述鼠标指针的目标位置坐标。

    9.  根据权利要求8所述的装置,其特征在于,指令接收模块还用于接收确 定操作指令;
    所述装置还包括:
    控件确定模块710,用于根据所述确定操作指令确定当前程序中焦点所在的 控件;
    执行模块,用于执行所述焦点所在的控件对应的操作。

    10.  根据权利要求7或9所述的装置,其特征在于,所述指令接收模块还 用于接收遥控器发送的确定操作指令。

    说明书

    说明书基于Android操作系统的鼠标指针控制方法和装置
    技术领域
    本发明涉及智能终端领域,特别是涉及一种基于Android操作系统的鼠标指 针控制方法和装置。
    背景技术
    鼠标指针一般表现为一种视觉图形,比如可以是箭头图形,用以在图形界 面上标识出鼠标所指示的位置。Android操作系统(一种基于Linux的自由及开 放源代码的操作系统)是目前十分流行的操作系统,然而Android操作系统本身 却并不支持鼠标,这使得用户在使用运行Android操作系统的终端(比如电视机) 时非常不方便。
    发明内容
    基于此,有必要针对Android操作系统不支持鼠标的技术问题,提供一种基 于Android操作系统的鼠标指针控制方法和装置。
    一种基于Android操作系统的鼠标指针控制方法,所述方法包括:
    在当前程序界面中生成鼠标指针并初始化;
    接收指针移动指令;
    根据所述指针移动指令确定所述鼠标指针的目标位置坐标;
    根据所述目标位置坐标更新所述鼠标指针的位置。
    一种基于Android操作系统的鼠标指针控制装置,所述装置包括:
    鼠标指针生成模块,用于在当前程序界面中生成鼠标指针并初始化;
    指令接收模块,用于接收指针移动指令;
    目标位置坐标确定模块,用于根据所述指针移动指令确定所述鼠标指针的 目标位置坐标;
    位置更新模块,用于根据所述目标位置坐标更新所述鼠标指针的位置。
    上述基于Android操作系统的鼠标指针控制方法和装置,在当前程序界面中 生成鼠标指针并初始化后,当接收到指针移动指令时,根据该指针移动指令确 定了鼠标指针的目标位置坐标,从而根据该目标位置坐标更新鼠标指针的位置。 在Android操作系统中实现了鼠标指针和对鼠标指针的控制,且无需修改 Android操作系统的底层,开发成本低。
    附图说明
    图1为一个实施例中基于Android操作系统的鼠标指针控制方法的流程示意 图;
    图2为一个实施例中根据确定操作指令执行操作的步骤的流程示意图;
    图3为一个具体应用场景中在运行有Android操作系统的终端上控制鼠标指 针的示意图;
    图4为一个实施例中根据指针移动指令确定鼠标指针的目标位置坐标的步 骤的流程示意图;
    图5为另一个实施例中根据确定操作指令执行操作的步骤的流程示意图;
    图6为另一个具体应用场景中在运行有Android操作系统的终端上控制鼠标 指针的示意图;
    图7为一个实施例中基于Android操作系统的鼠标指针控制装置的结构框 图;
    图8为另一个实施例中基于Android操作系统的鼠标指针控制装置的结构框 图;
    图9为再一个实施例中基于Android操作系统的鼠标指针控制装置的结构框 图。
    具体实施方式
    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
    如图1所示,在一个实施例中,提供了一种基于Android操作系统的鼠标指 针控制方法。本实施例主要以该方法应用于运行有Android操作系统的终端中来 举例说明,该终端可以包括智能手机、平板电脑、电子书阅读器、MP3播放器 (Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面 3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准 音频层面3)播放器、电视机和膝上型便携计算机等。该基于Android操作系统 的鼠标指针控制方法包括:
    步骤102,在当前程序界面中生成鼠标指针并初始化。
    鼠标指针是用以标识出鼠标指示位置的图形控件,对鼠标指针的初始化包 括设置鼠标指针的尺寸、设定初始位置和设置用于显示鼠标指针的图标等。其 中鼠标指针的尺寸可根据需要选择合适的尺寸,可通过设置鼠标指针的宽与高 实现。鼠标指针的初始位置可根据预设位置坐标设置,也可以获取当前程序中 焦点的位置,从而根据当前焦点的位置设置鼠标指针的位置。当前程序是指应 用该方法时终端上正在运行的程序,可以是当前正在运行且显示界面的程序。
    具体地,步骤102包括:获取当前系统窗口管理器(WindowManager),在 当前系统窗口管理器上添加图像显示控件并初始化。
    窗口管理器是Android操作系统中的一个重要服务(Service),主要用来管 理窗口的一些状态、属性、视图增加、删除、更新、窗口顺序、消息收集和处 理等,其中窗口用于生成程序的界面。图像显示控件是用于显示图像的控件, 比如在Android操作系统中可使用ImageView控件(一种浏览图片控件)实现 鼠标指针。可通过设置ImageView控件里的背景图片以显示鼠标指针的图标, 该图标就是用户看到的鼠标指针的形状,该背景图片的尺寸就是鼠标指针的尺 寸,该ImageView控件的位置就是鼠标指针的位置。通过图像显示控件来生成 鼠标指针,开发成本低。
    举例说明,获取当前系统窗口管理器,在当前系统窗口管理器上添加图像 显示控件并初始化的步骤可通过以下代码实现,其中以“//”开头的段落表示对 该段落以下代码的注释。
    “//获取系统窗口管理器
    WindowManager mWindowManager mWindowManager= (WindowManager)mContext.getApplicationContext().getSystemService(Context.WI NDOW_SERVICE);
    //初始化控件
    ImageView mCoverIv=new ImageView(mContext);
    //指定鼠标宽高等属性
    WindowManager.LayoutParams mParams=new WindowManager. LayoutParams(120,100,WindowManager.LayoutParams.TYPE_TOAST, WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
    PixelFormat.TRANSLUCENT);
    mParams.gravity=Gravity.LEFT|Gravity.TOP;
    //设置鼠标指针的图片
    mCoverIv.setBackgroundResource(R.drawable.tcl_mouse_ani);
    //将鼠标指针添加到当前系统窗口管理器
    mWindowManager.addView(mCoverIv,mParams);”
    步骤104,接收指针移动指令。
    指针移动指令是控制鼠标指针移动的指令。可通过遥控器控制终端上鼠标 指针的移动。遥控器可检测按键事件,并将检测到的按键事件发送给终端,终 端收到按键事件后触发指针移动指令;或者遥控器检测到按键事件后触发指针 移动指令,将指针移动指令发送给终端,终端接收遥控器发送的指针移动指令。
    在一个实施例中,移动指令包括向上移动指令、向下移动指令、向左移动 指令和向右移动指令。本实施例中,通过4个按键就可以实现控制鼠标指针在 终端屏幕上显示位置的移动,节省按键;而且若终端为电视机,由于一般电视 机的遥控机都具备至少4个方向键,可在现有遥控器的基础上就能实现对鼠标 指针的控制,实现成本比较低。
    步骤106,根据指针移动指令确定鼠标指针的目标位置坐标。
    目标位置坐标表示要求鼠标指针到达的位置的坐标,终端可在接收到指针 移动指令后获取鼠标指针当前所在位置的坐标,从而在鼠标指针当前所在位置 的坐标基础上增加或减少预设值得到鼠标指针的目标位置坐标。
    步骤108,根据目标位置坐标更新鼠标指针的位置。
    终端根据目标位置坐标可更新鼠标指针的位置,比如当通过图像显示控件 实现鼠标指针时,可根据该目标位置坐标改变该图像显示控件的位置,并刷新 当前程序界面,便实现了鼠标指针的移动。
    举例说明,确定鼠标指针的目标位置坐标和根据目标位置坐标更新鼠标指 针的位置的步骤可通过以下代码实现:
    “//改变鼠标指针的位置坐标,x表示鼠标指针的横坐标,y表示鼠标指针 的纵坐标。
    mParams.x=x;
    mParams.y=y;
    //刷新程序界面
    mWindowManager.updateViewLayout(mCoverIv,mParams);”
    由于对于普通软件程序开发者来说,其并不具备修改操作系统的权限,而 且通过修改操作系统的底层来实现对鼠标指针的控制开发难度大,开发成本高。 而上述基于Android操作系统的鼠标指针控制方法,在当前程序界面中生成鼠标 指针并初始化后,当接收到指针移动指令时,可根据该指针移动指令确定鼠标 指针的目标位置坐标,从而根据该目标位置坐标更新鼠标指针的位置。在 Android操作系统中实现了鼠标指针和对鼠标指针的控制,且无需修改Android 操作系统的底层,开发成本低。
    对鼠标指针的控制,除了根据移动指令移动该鼠标指针,还需要响应确定 操作指令,比如对应鼠标点击操作的指令。如图2所示,在一个实施例中,该 基于Android操作系统的鼠标指针控制方法还包括根据确定操作指令执行操作 的步骤,包括:
    步骤202,接收确定操作指令。
    可通过点击确定按钮触发确定操作指令,使得终端接收到该确定操作指令。
    在一个实施例中,步骤202具体为接收遥控器发送的确定操作指令。
    当终端为电视机时,可通过遥控器上的确定键实现,该确定键可以预设为 遥控器上任意一个非方向按键,用户点击该按键后即可触发遥控器向终端发送 确定操作指令,从而由终端接收该确定操作指令。遥控器上只需要5个按键, 即可实现对终端上鼠标指针的移动和执行确定操作,实现成本低。
    步骤204,根据确定操作指令,获取鼠标指针当前所在的位置坐标。
    终端接收到确定操作指令后,需要获取鼠标指针当前所在的位置坐标,该 位置坐标用以确定在终端屏幕上哪个位置触发执行确定操作。
    步骤206,根据鼠标指针当前所在的位置坐标生成模拟事件。
    终端获取到鼠标指针当前所在的位置坐标后,根据该位置坐标生成模拟事 件。根据鼠标指针当前所在的位置坐标可确定该模拟事件发生的位置。模拟时 间可以是模拟触摸事件,比如模拟触摸按下事件、模拟触摸滑动事件等,当然 也可以模拟实体键按下事件等。
    步骤208,向当前程序注入模拟事件。
    当前程序是指终端中当前正在运行的程序,可以是当前正在运行且显示界 面的程序。可通过Android操作系统的Instrumentation框架(Android操作系统 的测试框架)向当前程序注入模拟事件。Instrumentation框架本是Android测试 的核心,在这个框架下,测试程序可以精确控制被测试程序。通过Instrumentation 框架向当前程序注入模拟事件,当前程序响应该模拟事件,从而执行该模拟事 件对应的操作。当前程序中本身已存在对何种事件作出何种响应的逻辑,这里 只需要生成并向当前程序注入一个模拟事件即可触发当前程序对该模拟事件作 出响应。
    本实施例中,终端在接收到确定操作指令后,获取鼠标指针当前所在的位 置坐标,并根据获取的位置坐标生成模拟事件,并将生成的模拟事件注入当前 程序,当前程序响应该模拟事件,执行对应的操作,可实现鼠标点击的效果。 而且无需对当前程序进行再次开发,节省了开发成本,提高了开发效率。
    下面以一个具体的应用场景来说明上述基于Android操作系统的鼠标指针 控制方法的原理。参考图3,该应用场景以运行有Android操作系统的电视机进 行举例说明,该电视机通过遥控器控制。具体包括如下步骤:
    (1)、鼠标管理者是运行于Android操作系统中用于控制鼠标指针的控制模 块,鼠标管理者首先会生成一个鼠标指针并对该鼠标指针进行初始化,用户就 可以在电视机上看到当前应用程序中显示的鼠标指针。用户通过按压遥控器上 的方向键,向电视机发送方向键按键事件,鼠标管理者接收到该方向键按键事 件触发指针移动指令,从而根据鼠标指针当前的位置坐标生成鼠标指针的目标 位置坐标,将鼠标指针移动到目标位置坐标对应的位置,并刷新当前程序界面, 用户便看到了鼠标指针发生了移动。
    (2)、当用户需要执行确定操作时,比如若鼠标指针位于一个按钮上,需 要实现点击该按钮,则可通过按压遥控器上的确定键,向电视机发送确定键按 键事件。鼠标管理者接收该确定键按键事件触发确定操作指令,从而根据该确 定操作指令生成对应鼠标指针当前所在的位置的模拟触摸按下事件,通过 Android操作系统的Instrumentation测试框架将生成的模拟触摸按下事件注入当 前应用程序中。当前应用程序接收到该模拟触发事件,相当于检测到用户对电 视机屏幕上该鼠标指针当前所在的位置处进行了触摸按压操作,从而触发当前 应用程序执行该触摸按下事件对应的操作。
    如图4所示,在一个实施例中,步骤106包括:
    步骤402,根据指针移动指令获取当前程序中的焦点位置。
    这里焦点的位置主要是标识出哪个控件被选中了,焦点的位置在哪里,也 就说当前那个控件在按下确认按钮后,会被触发收到消息。Android操作系统的 Activity(Activity是Android操作系统中负责与用户交互的组件,Activity中的 操作与用户密切相关)本身提供一个接口,用于获取当前焦点所在控件,得到 了当前焦点所在控件后,便可获得焦点位置。比如可获取该控件在程序界面中 的横、纵坐标和该控件的宽、高,从而根据该控件在程序界面中的横、纵坐标 和该控件的宽、高计算焦点的位置,可取控件的中心点所在位置作为焦点位置。
    步骤404,根据焦点位置确定鼠标指针的目标位置坐标。
    根据步骤402中获取的焦点位置可确定鼠标指针的位置坐标,具体的,焦 点位置可直接确定为鼠标指针的目标位置坐标。
    举例说明,步骤402和404可通过以下代码实现:

    本实施例中,通过获取焦点位置并根据该焦点位置确定鼠标指针的目标位 置坐标,由于当用户在遥控器上按下上下左右键时,会触发指针移动指令,操 作系统根据指针移动指令会自动控制焦点移动,将焦点移动到下一个控件,于 是获取到当前焦点位置并根据该焦点位置生成鼠标指针的目标位置坐标,并根 据目标位置坐标更新鼠标指针的位置,就实现了鼠标指针从上一个焦点移动到 新的焦点。由于利用了系统的焦点来控制鼠标指针的移动,实现成本低。
    如图5所示,在另一个实施例中,根据确定操作指令执行操作的步骤包括:
    步骤502,接收确定操作指令。
    可通过点击确定按钮触发确定操作指令,使得终端接收到该确定操作指令。
    在一个实施例中,步骤502具体为接收遥控器发送的确定操作指令。
    当终端为电视机时,可通过遥控器上的确定键实现,该确定键可以预设为 遥控器上任意一个非方向按键,用户点击该按键后即可触发遥控器向终端发送 确定操作指令,从而由终端接收该确定操作指令。遥控器上只需要5个按键, 即可实现对终端上鼠标指针的移动和执行确定操作,实现成本低。
    步骤504,根据确定操作指令确定当前程序中焦点所在的控件。
    终端在接收到确定操作指令后可检测当前程序中焦点所在的控件,该控件 处于选中状态。
    步骤506,执行焦点所在的控件对应的操作。
    由于焦点的位置与鼠标指针的位置是一致的,执行焦点所在的控件对应的 操作,也就是执行鼠标指针所在的控件对应的操作。
    本实施例中,由于Android操作系统本身提供一种机制,就是当前焦点所在 的控件在用户按下确认按钮后,会被触发收到消息,从而执行对应的操作。终 端在接收到确定操作指令后,先确定当前程序中焦点所在的控件,从而执行焦 点所在的控件对应的操作,没有对操作系统底层进行修改,就实现了在Android 操作系统中对鼠标指针的控制,开发成本低。
    下面再以另一个具体的应用场景来说明上述基于Android操作系统的鼠标 指针控制方法的原理。参考图6,该应用场景以运行有Android操作系统的电视 机进行举例说明,该电视机通过遥控器控制。具体包括如下步骤:
    (1)、鼠标管理者是运行于Android操作系统中用于控制鼠标指针的控制模 块,鼠标管理者首先会生成一个鼠标指针并对该鼠标指针进行初始化,用户就 可以在电视机上看到当前应用程序中显示的鼠标指针。用户通过按压遥控器上 的方向键,向电视机发送方向键按键事件,鼠标管理者接收到该方向键按键事 件后根据当前程序中焦点的位置生成鼠标指针的目标位置坐标,从而将鼠标指 针移动到目标位置坐标对应的位置,并刷新当前程序界面,用户看到了鼠标指 针发生了移动。
    (2)、当用户需要执行确定操作时,比如若鼠标指针位于一个按钮上,需 要实现点击该按钮,则可通过按压遥控器上的确定键,向电视机发送确定键按 键事件。Android操作系统自己会根据焦点所在的位置,执行焦点所在控件对应 的操作,对该确定键按键事件进行响应,而鼠标指针的位置与焦点的位置是一 致的,从而实现了对鼠标指针的控制。
    如图7所示,在一个实施例中,提供了一种基于Android操作系统的鼠标指 针控制装置,包括鼠标指针生成模块702、指令接收模块704、目标位置坐标确 定模块706和位置更新模块708。
    鼠标指针生成模块702用于在当前程序界面中生成鼠标指针并初始化。
    指令接收模块704用于接收指针移动指令。
    目标位置坐标确定模块706用于根据指针移动指令确定鼠标指针的目标位 置坐标。
    位置更新模块708用于根据目标位置坐标更新鼠标指针的位置。
    在一个实施例中,指令接收模块704还用于接收确定操作指令。如图8所 示,该基于Android操作系统的鼠标指针控制装置还包括位置坐标获取模块705、 模拟事件生成模块707和注入模块709。
    位置坐标获取模块705用于根据确定操作指令,获取鼠标指针当前所在的 位置坐标。
    模拟事件生成模块707用于根据鼠标指针当前所在的位置坐标生成模拟事 件。
    注入模块709用于向当前程序注入模拟事件。
    如图9所示,在一个实施例中,目标位置坐标确定模块706包括焦点位置 获取模块706a和确定模块706b。
    焦点位置获取模块706a用于根据指针移动指令获取当前程序中的焦点位 置。
    确定模块706b用于根据焦点位置确定鼠标指针的目标位置坐标。
    在一个实施例中,指令接收模块704还用于接收确定操作指令。该基于 Android操作系统的鼠标指针控制装置还包括控件确定模块710和执行模块712。
    控件确定模块710用于根据确定操作指令确定当前程序中焦点所在的控件。
    执行模块712用于执行焦点所在的控件对应的操作。
    在一个实施例中,指令接收模块704还用于接收遥控器发送的确定操作指 令。
    以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域 的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和 改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附 权利要求为准。

    关 键  词:
    基于 ANDROID 操作系统 鼠标 指针 控制 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于ANDROID操作系统的鼠标指针控制方法和装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1667858.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1