《电子装置中的应用控制.pdf》由会员分享,可在线阅读,更多相关《电子装置中的应用控制.pdf(27页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103797460 A (43)申请公布日 2014.05.14 CN 103797460 A (21)申请号 201280032150.X (22)申请日 2012.04.30 1107273.3 2011.04.28 GB G06F 9/44(2006.01) G06F 3/0488(2013.01) G06F 3/0482(2013.01) (71)申请人 INQ 企业有限公司 地址 巴哈马拿骚 (72)发明人 M. 史密斯 S. 亚普 T. 鲁塞尔 K. 乔伊斯 K. 约翰斯通 N. 埃格 A. 古普塔 (74)专利代理机构 中国专利代理(香港)有限公 司 7。
2、2001 代理人 王岳 胡莉莉 (54) 发明名称 电子装置中的应用控制 (57) 摘要 提供了一种便携电子装置, 其包括 : 显示屏 幕区域, 用于提供视觉反馈和用于接收手势输入 ; 和切换控制器, 用以实现已在所述装置上被执行 的多个应用之间的切换, 所述切换控制器被适配 成与所述装置上的操作系统交互并且包括多个软 件组件, 所述软件组件与相对所述装置上的操作 系统是本机的组件交互, 并且其中所述装置进一 步包括处理器用于调用涉及所述切换控制器的 特定组件的过程, 其中所述切换控制器包括任务 管理组件用于维持正在所述装置上运行的任务的 排序列表并且允许改变任务状态。还提供了一种 用于在便携。
3、电子装置中控制多个应用之间的切换 的方法, 所述方法包括显示屏幕, 其中所述方法包 括 : 生成正在装置上运行的多个应用的排序列表 和基于所述列表控制所述应用之间的切换。一种 计算机可读介质包括用于引起电子装置执行所述 方法的计算机程序代码。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2013.12.27 (86)PCT国际申请的申请数据 PCT/GB2012/000397 2012.04.30 (87)PCT国际申请的公布数据 WO2012/146900 EN 2012.11.01 (51)Int.Cl. 权利要求书 2 页 说明书 11 页 附图 13 页 (19)中华人民。
4、共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图13页 (10)申请公布号 CN 103797460 A CN 103797460 A 1/2 页 2 1. 一种便携电子装置, 包括 : 显示屏幕区域, 用于提供视觉反馈和用于接收手势输入 ; 和切换控制器, 用以实现已在所述装置上被执行的多个应用之间的切换, 所述切换控制器 被适配成与所述装置上的操作系统交互并且包括多个软件组件, 所述软件组件与相对所述 装置上的操作系统是本机的组件交互, 并且其中所述装置进一步包括处理器用于调用涉及 所述切换控制器的特定组件的过程, 其中所述切换控制器包括任务管理组件用于维持正。
5、在 所述装置上运行的任务的排序列表并且允许改变任务状态。 2. 根据权利要求 1 的装置, 其中所述任务管理组件维持正在所述装置上运行的任务的 按时间先后顺序排序的列表。 3. 根据权利要求 2 的装置, 其中所述任务管理组件能操作成当在所述显示屏幕上具有 焦点并且正在所述装置上运行的任务被过渡离开时捕获该任务的屏幕快照。 4. 根据前面任一权利要求的装置, 其中所述切换控制器进一步包括能够在任务之间切 换的滑动管理器组件。 5. 根据前面任一权利要求的装置, 其中所述切换控制器包括手势检测组件以标识所述 电子装置的预定区域上的手势的特定类型。 6. 根据权利要求 5 的装置, 其中对手势的特。
6、定类型的标识引起所述任务列表上的任务 的预先捕获的屏幕快照与目前任务的屏幕表示一起同时地且接近目前任务的屏幕表示地 显示在所述显示屏幕上。 7.根据权利要求5或6的装置, 其中所述手势检测组件与手势控制区域关联, 所述手势 控制区域与所述显示屏幕区域分离并且在所述显示屏幕区域的外侧。 8. 根据权利要求 7 的装置, 其中所述手势控制区域识别预定类型的手势, 所述预定类 型的手势与相同的手势在显示屏幕区域中被接收到的情况相比为装置提供不同的功能。 9. 根据权利要求 7 或 8 的装置, 其中所述手势控制区域中的滑动手势被所述手势检测 组件检测到并且在检测到所述滑动手势之后引起通过多个应用的屏。
7、幕快照的导航, 而没有 中间应用被显示在所述显示屏幕上。 10. 根据前面任一权利要求的装置, 其中所述任务管理组件被适配成捕获在所述装置 上运行的每个任务的缩图屏幕快照并且经由直接操控所述缩图屏幕快照来改变所述任务 的状态。 11. 根据权利要求 10 的装置, 其中通过直接操控一个或多个所述缩图屏幕快照来改变 任务列表中的所述任务的顺序。 12. 一种用于在包括显示屏幕的便携电子装置中控制多个应用之间的切换的方法, 其 中所述方法包括 : 生成正在装置上运行的多个应用的排序列表和基于所述列表来控制所述 应用之间的切换。 13. 根据权利要求 12 的方法, 进一步包括当在所述显示屏幕上具有。
8、焦点并且正在所述 装置上运行的任务被过渡离开时捕获该任务的屏幕快照。 14.根据权利要求12或13的方法, 进一步包括标识所述电子装置的预定区域上的手势 的特定类型, 其中对手势的特定类型的标识引起所述任务列表上的任务的预先捕获的屏幕 快照与目前任务的屏幕表示一起同时地且接近目前任务的屏幕表示地显示在所述显示屏 幕上。 15. 根据权利要求 12、 13 或 14 的方法, 进一步包括改变所述列表的顺序。 权 利 要 求 书 CN 103797460 A 2 2/2 页 3 16.一种计算机可读介质, 包括用于引起电子装置执行权利要求12到15中的任一个的 方法的计算机程序代码。 权 利 要 。
9、求 书 CN 103797460 A 3 1/11 页 4 电子装置中的应用控制 技术领域 0001 本发明涉及电子装置中的应用控制, 并且更具体地涉及用于控制可以在便携电子 装置上运行的应用程序的设备、 方法和计算机可读介质。 背景技术 0002 诸如移动电话的便携电子装置上的多任务处理和响应于手势而在运行的应用之 间切换在移动电话环境中是已知的。然而, 在移动环境中, 多任务处理具有一些独特的挑 战。具体来说, 了解哪些应用正在运行和用户能够如何在运行的应用之间切换提出了特定 的挑战。 0003 在多任务处理环境中, 希望允许用户在不同运行的应用之间快速移动。 通常, 当用 户需要选择不同。
10、的应用或应用中的不同屏幕时, 菜单被示出, 然后用户从菜单选择希望运 行的应用或屏幕。 发明内容 0004 本发明提供了以用户友好的方式实现系统中的任务切换的方法、 设备、 系统和计 算机可读介质。 0005 根据一个方面, 本发明提供了电子装置, 电子装置包括切换控制器以使用户能够 在已在装置上被执行的多个应用之间切换, 切换机制被适配成与装置上的操作系统交互。 操作系统可以不具有在应用之间切换的能力。 0006 切换控制器包括多个软件组件, 软件组件与对于装置上的操作系统是本机的组件 交互。 交互通过电话上的处理器发生, 处理器能够调用涉及切换控制器的特定组件的过程。 0007 切换控制器。
11、可以包括任务管理组件, 任务管理组件维持正在装置上运行的任务的 排序列表并且允许改变 (打开或关闭) 任务状态。控制器可以进一步包括能够在任务之间切 换的滑动管理器组件。 控制器还可以包括手势检测组件以标识电子装置的预定区域上的手 势的特定类型。 0008 本文中提到的处理器可以包括数据处理单元和关联的程序代码以由处理器控制 操作的执行。 0009 可以提供用于在电子装置中控制多个应用之间的切换的方法, 其中方法包括 : 生 成在装置上已执行的多个应用的列表和基于列表控制应用之间的切换。 列表的顺序可以由 用户改变。 0010 可以提供计算机可读介质, 计算机可读介质包括用于引起电子装置执行前。
12、面提到 的方法的计算机程序代码。 0011 在一个实施例中, 运行的应用以排序列表被呈现为屏幕快照, 屏幕快照示出每个 运行的应用的显示, 并且用户通过手势能够容易地在运行的应用之间切换。当任务滑动被 开始时可以自动地捕获屏幕快照, 而不是用户必须执行捕获屏幕快照的过程。可以列出能 在装置上运行的所有可用应用的默认屏幕或主页 / 构件 (widget) 屏幕被放置在列表的一 说 明 书 CN 103797460 A 4 2/11 页 5 端 (在本实施例中为左侧) 并且一直在那里。使用把所有运行的应用示出为具有关闭按钮的 缩图屏幕快照的应用程序, 用户能够重新排序在列表中的应用和从列表中移除应。
13、用, 并且 用户能够拖动屏幕快照以对它们重新排序。 这在用户的头脑中创建了对应用的定位的空间 理解, 从而允许他们更高效地在运行的应用之间切换和发现他们希望的应用。 0012 一个优点是已创建了帮助用户了解新应用在列表中的放置的独特的用户体验。 特 别地, 使用独特的动画, 显示器给用户展示新应用在列表中的产生的排序。 0013 在一个实施例中, 可以在被启动的新应用和应用中的新屏幕之间区分。这在移动 环境中是尤其重要的, 在移动环境中应用一起工作并且不隔离, 诸如浏览器中的启动电子 邮件应用的电子邮件链接, 并且将其与启动新浏览器窗口的链接区分。 0014 当从前台应用 ( “开始屏幕” )。
14、 启动新应用时, 新应用出现在接近并代替开始屏幕的 屏幕中。这个新应用起初被示出到前台。当第二新应用被打开时 (新的 “开始屏幕” ) , 第一 应用被推出离开开始屏幕并且然后新应用被示出在前台。为了切换到第一应用, 在开始屏 幕的相反方向上滑动屏幕, 改变回到第一应用。开始屏幕可以是或可以不是 “主页屏幕” 。 0015 这提供了针对以下的使用的简易性 : 切换应用焦点 ; 在一组运行的应用的视图之 间切换和了解运行的应用的排序列表。通过实现从第一应用的全屏幕显示到另一应用的 全屏幕显示的直接切换, 本发明避免了当希望在应用之间导航时返回到中间选择菜单的需 要。相比于必须通过界面层次后退, 。
15、这增加了用户管理应用和在应用之间导航的简易性。 0016 根据本发明的一方面, 用户能够重新排序在列表中的应用和移除应用 (例如使用 拖放和关闭按钮而且响应于用户从菜单选择应用) , 并且这控制随后的切换序列。 0017 可以适合于用在上面的实施例中的电子装置具有用于提供视觉反馈和用于接收 手势的显示屏幕区域和可以与显示屏幕分离的手势控制区域。 手势控制区域识别预定类型 的手势, 其与相同的手势在显示屏幕区域中被接收到的情况相比可以为装置提供不同的功 能。在这个手势控制区域中的滑动引起通过应用的列表的导航。这可以与在显示屏幕区域 中的滑动不同, 在显示屏幕区域中的滑动可以引起通过电子装置可能能。
16、够显示的各个主页 或其它屏幕的导航。 附图说明 0018 下面通过示例的方式参考附图更详细地描述本发明的实施例, 其中 : 图 1 是移动电话的示意表示, 作为在其中可以实施本发明的电子装置的第一示例 ; 图 2 是安卓 (Android) 操作系统的体系结构图 ; 图 3 是示出根据本发明实施例的在电子装置的屏幕上可以看见的用户界面的图 ; 图 4a 到 4d 示出在图 3 的实施例中使用的电子装置和在与装置的用户交互后显示在屏 幕上的不同的用户界面 ; 图 5a 和 5b 示出在图 3 的实施例中使用的电子装置和当装置上的主页按钮被保持时显 示在屏幕上的不同的用户界面 ; 图 6 示出包括。
17、类列表及其交互以在移动电子装置 (诸如图 4 中的移动电子装置) 中提供 任务滑动的体系结构图 ; 图 7 是在图 3 的实施例中提供手势检测的组件的体系结构图 ; 图 8 是图 4 的电子装置的前表面和可以在装置的屏幕上可显示的各种表面的简化图 ; 说 明 书 CN 103797460 A 5 3/11 页 6 图 9a 到 9d 示出针对涉及由图 4 的装置执行的滑动和切换的四个使用情况的序列图 ; 图 10 示出概述对图 2 的安卓操作系统的各个方面做出的改变的类图 ; 和 图 11 示出用在移动电子装置 (诸如图 4 中的移动电子装置) 中的任务管理器组件的综 览的类图。 具体实施方式。
18、 0019 在近几年, 移动电话已显著地演进为包括更先进的计算能力和相对于标准电话通 讯功能的附加功能并且这样的电话被称为 “智能电话” 。具体地说, 许多电话用于文本消息 发送、 互联网浏览和 / 或电子邮件以及游戏。触摸屏技术在电话中是有用的, 因为屏幕尺寸 受限并且触摸屏输入提供对显示屏上的条目的直接操控以便由分离的键盘或数字键区通 常所需要的面积被节省并且改为被触摸屏占去。 虽然现在将关于手持智能电话描述本发明 的实施例, 但是本发明的一些方面能够适用于在其它触摸输入受控电子装置 (诸如没有电 话通讯处理器的手持计算机、 电子阅读装置、 平板 PC 和 PDA) 中使用。 0020 图。
19、 1 示出了包括无线通信单元的示例性移动电话手机, 无线通信单元具有天线 101、 用于双向通信 (诸如用于 GSM 和 UMTS 电话通讯) 的无线电信号收发器 102 和用于其它 无线通信协议 (诸如 Wi-Fi) 的无线模块 103。输入单元包括麦克风 104 并且触摸屏 105 提 供输入机制。输出单元包括扬声器 106 和用于呈现电话功能的图标或文本表示的显示器 107。电子控制电路包括放大器 108, 和多个提供 ADC/DAC 信号转换 109、 压缩 / 解压缩 110、 编码和调制功能 111 的专用芯片, 和在这些各个组件之间提供连接的电路, 和用于处理命 令和控制信号发送。
20、的微处理器 112。通常示出为存储器单元 113 的存储器与具体处理器关 联。随机访问存储器 (在一些情况中为 SDRAM) 被提供用于存储要被处理的数据, 并且 ROM 和闪存被提供用于存储电话的操作系统和要被每个处理器执行的其它指令。 可再充电电池 形式的电源 114 为电话的功能提供电力。触摸屏 105 耦合到微处理器 112 使得在触摸屏上 的输入能够被处理器理解。这些特征是本领域公知的并且在本文中将不更详细地描述。 0021 除了不可缺的 RAM 和 ROM, 由电话手机的订户标识模块 (SIM 卡) 115 提供了少量 的存储容量, 其存储 GSM 电话通讯服务提供商和处理验证所需。
21、要的用户的服务订户密钥 (IMSI) 。SIM 卡通常存储用户的电话联系人并且能够存储由用户指定的附加数据以及用户 被准许的服务和网络信息的标识。 0022 与大多数其它电子装置一样, 使用硬件和软件的组合来实施移动电话的功能。在 许多情况中, 判定使用电子硬件还是软件来实施特定功能是涉及如下简易性的商业判定而 不是由于基本的技术区别 : 能够使新产品版本在市场上可买到并且能够提供与执行的速度 和可靠性 (该执行使用专用硬件可能更快) 保持平衡的更新 (例如经由软件下载) 。本文中使 用术语 “逻辑” 来指代实施电子装置的功能的硬件和 / 或软件。在本发明的特定实施例的 上下文中明确地指代软件。
22、或硬件的地方, 读者将认识到替代的软件和硬件实施方式也可以 完成希望的技术效果, 并且因此这个规范应当被理解。 0023 智能手机通常运行操作系统并且大量的应用可以在操作系统的顶端上运行。 如图 2 中所示, 在使用安卓操作系统 (由 Google 公司所有) 的智能手机上的软件体系结构例如包 括在基于 Java 的应用架构 210 上运行并且由库 220(包括 Java 核库 230) 集合支持的面向 对象 (Java 以及一些 C 和 C+) 应用 200 和基于寄存器的 Dalvik 虚拟机 240。针对资源约 说 明 书 CN 103797460 A 6 4/11 页 7 束装置 (即。
23、具有受限的存储器和处理器速度的电池供电装置) 优化 Dalvik 虚拟机 240。在 由虚拟机的实例执行之前 Java 类文件被转换成紧凑 Dalvik 可执行 (.dex) 格式。对于诸 如线程处理和低级别存储器管理的基础功能, Dalvik VM 依赖于 Linux 操作系统内核。安 卓操作系统为诸如关于图 1 描述的硬件的各种硬件提供支持。对于在图 1 和 2 中出现的相 同硬件使用相同的参考数字。支持能被提供给触摸屏 105、 GPS 导航、 照相机 (静物照相机和 摄像机) 和其它硬件, 并且包括整体的网页浏览器及图形支持和对于各种格式的媒体回放 的支持。安卓支持各种连接性技术 (C。
24、DMA、 WiFi、 UMTS、 蓝牙、 WiMax 等) 和 SMS 文本消息发 送和 MMS 消息发送, 以及安卓云到装置消息发送 (C2DM) 架构。由各种插件提供对于媒体流 传送的支持, 并且轻量级关系数据库 (SQLite) 提供结构化的存储管理。用包括各种开发工 具的软件开发工具包, 许多新的应用被开发用于安卓 OS。目前可用的安卓电话包括来自大 量制造商的广泛各种屏幕尺寸、 处理器类型和存储器供应。操作系统的哪些特征被利用依 赖于特定的移动装置硬件。 0024 在安卓操作系统 (OS) 中的活动被作为活动堆栈来管理。活动被看作用户能与之 交互的应用。当开始新活动时, 它被放置在活。
25、动堆栈的顶端上并且变成运行的活动。先前 的活动在堆栈中保留在新活动的下面, 并且将不会再次来到前台直到新任务退出。任务是 能够起源于单个或不同应用的活动的序列。在安卓中, 可以通过堆栈返回。 0025 发明人已实现了新的架构以实现在使用安卓 OS 的移动电子装置中 (向后或向前) 通过应用导航并且实现在系统中维持应用的排序列表的能力。 使用和保持非活动应用的屏 幕快照以便可以在涉及每个应用的屏幕快照之间导航。 应用被看作不同于系统任务的用户 任务, 系统任务可以在没有关联图形用户界面的后台中发生。 0026 参见图 3, 示出了本发明的一个实施例的移动电子装置的各种用户界面。示出了 包括多个应。
26、用的主菜单屏幕, 通过用户执行与表示应用的图形用户界面对象的特定交互可 以打开 / 激活该多个应用。在安卓中, 主菜单屏幕是多个主页屏幕中的一个。每个主页屏 幕可以包括应用图标、 构件或用户可能希望看到的其它信息。 在这个情况中, 用户已从主菜 单主页屏幕通过点击关联的对象来选择 “消息发送” 应用。这打开消息发送应用。然后用 户按压移动电子装置上的 “主页” 键 (未示出) 来使用户回到主菜单或主页屏幕以选择要打 开的另一应用。这可以被执行多次并且在这个情况中打开三个应用。在用户未与应用交互 的任一时间, 仅应用中的一个是全部可见的。 在图中示出了应用的顺序, 其中主页屏幕首先 被示出并且余。
27、下的应用按时间先后顺序排序 (最近的首先示出) 。应用产生到主页屏幕的右 侧。 0027 图 4a 到 4d 示出可以在图 3 中使用的移动电子装置 10。移动电子装置 10 具有手 势控制区域 11, 手势控制区域 11 可以被看作是装置 10 的前侧上的触摸屏的延伸部分。还 提供了具有图像用户界面的显示区域 12。在这个特定示例中, 用户通过滑动穿过显示区 域 12 直到需要的主页屏幕被示出来访问特定类型的主页屏幕, 该特定类型的主页屏幕是 Facebook 社交网络构件 13。然后, 用户选择聊天图标 14。图 4a 到图 4d 示出当在聊天图 标 14 已被选择并且聊天任务 15 已被。
28、激活之后用户从左到右滑动 (由 “F1” 指示) 穿过手势 控制区域 11 时显示屏幕的过渡。在从左侧向右侧滑动手势控制区域 11 时, 整个聊天的全 部屏幕移动到右侧。滑动是能够引起在屏幕上示出的 (一个或多个) 条目改变的直接屏幕操 控的手势类型的示例。 说 明 书 CN 103797460 A 7 5/11 页 8 0028 如图 4b 中示出的, Facebook 构件屏幕 13 直接邻近 (连接) 聊天屏幕的左边缘, 初 始从 Facebook 构件屏幕 13 激活聊天任务 15。沿手势控制区域 11 的进一步移动导致示出 更多的 Facebook 构件屏幕 13(和更少的聊天屏幕 。
29、15) , 如图 4c 中示出的。一旦滑动靠近 或处在手势控制区域 11 的右端, 仅 Facebook 构件屏幕 13 在屏幕上是可见的。将意识到的 是, 这个示例仅示出两个屏幕 (Facebook 构件屏幕和聊天屏幕) 但是多个应用可以在堆栈 中, 在该情况中用户可以通过在手势控制区域中按照应用在装置中被维持的特定顺序向前 或向后滑动而在所有应用之间滑动。 例如, 如果在聊天屏幕中提供链接, 选择该链接将在邻 近聊天屏幕的屏幕中打开该链接。涉及链接 (其例如可以是网页) 的屏幕 (未示出) 将打开 浏览器应用并且将其带到前台。 在浏览器应用中用户可以穿过手势控制区域向后滑动一次 并且这可以。
30、把用户带回到 Facebook 构件屏幕 13。 0029 任务滑动涉及同时动画即时 (live) 表面和屏幕快照, 然后用第二即时表面代替屏 幕快照。即时表面将是目前在屏幕上和在焦点中的应用 (例如图 4a 中所示的聊天屏幕 15) 并且如图 4b 和 4c 中所示的, 同时动画另一应用的屏幕快照 (例如 Facebook 构件屏幕 13) 。 当在诸如图 4b 和 4c 中所示的任务滑动动画之后应用被改变时用即时表面代替屏幕快照。 常规地, 当应用被改变时执行过渡动画。在这个实施例中, 当任务滑动时, 抑制了常规的应 用过渡。 0030 现在将参照图 5a 和 5b 描述涉及如何对任务重新。
31、排序或关闭任务的另一方面。图 5a 示出当用户长按 (如由 F2 指示的) 手势控制区域上的 “主页” 按钮时在实施例中生成的屏 幕。可以提供激活屏幕的其它方法。按压按钮, 引起打开的应用屏幕 16, 应用屏幕 16 示出 打开的并且你可以切换到的每个应用的视觉表示。在这个屏幕中, 可以通过把应用的指示 拖放到堆栈中的另一位置中来移动堆栈中的任何应用。在这个情况中, 如图 5b 中所示的, 用户已选择 “联系人” 应用 (如由 F3 所示的) 并且这可以被移动到堆栈中的任何位置。这允 许用户改变滑动顺序。 0031 在用户可能不希望必须在多个应用之间滑动而是使每个打开的应用的屏幕快照 形式的任。
32、务彼此邻近的情况中, 这可以是有用的。 例如, 如果多个链接要从一个应用被复制 到另一个并且这不能以单个动作被复制, 则如果链接要被复制到的屏幕相对于该链接从其 起源的应用而言在堆栈更下面, 那么用户可能需要滑动穿过多个屏幕。对应用重新排序的 能力克服了这点并且给用户提供更多的控制, 因为在堆栈中可以在邻近的应用屏幕之间执 行更慢的、 更受控的滑动, 而不是在远距离的应用之间的更不可控的滑动。 0032 如果不再需要这些应用中的一些, 则可以通过点击应用的视觉表示的关闭按钮 (如图 5a 和 5b 中在角落中的交叉所示) 来从打开的应用屏幕 16 个体地关闭它们。 0033 在这个屏幕 16 。
33、上可以识别其它类型的手势以引起应用的行为改变。例如, 用户可 以在打开的应用屏幕上长按并且朝显示区域 12 的边缘滑动特定应用的缩略图。如果另一 便携电子装置被定位得邻近便携电子装置 10 并且在两个装置上都实现近场通信 (NFC) , 则 这可以是在多个便携电子装置之间共享涉及特定应用的数据的方法。 0034 用这个多任务处理方案, 还可以处理用于应用 (诸如 Spotify) 的后台进程。可以 激活Spotify应用并且可以选择歌曲来播放。 如果退出该应用, Spotify将继续在后台运行 但是将不打开以允许在它和打开的其它应用之间切换。 可以执行手势控制区域上的长按以 引起打开的应用视图。
34、。Spotify 应用将不在列表中因为它正在后台中运行。如果 Spotify 说 明 书 CN 103797460 A 8 6/11 页 9 应用被再次打开, 并且同时在该应用中, 打开的应用视图被激活, 则 Spotify 在堆栈中将被 表示为像所有其它应用 (app) 一样并且如果需要, 应用可以被重新布置。 0035 图 6 是示出类列表及其交互以在移动电子装置 (诸如图 4 中的移动电子装置) 中提 供任务滑动的体系结构。将意识到的是, 可以使用其它类型的移动电子装置。 0036 WindowManagerService(窗口管理服务)是在系统中控制所有窗口图和动画 的标准安卓服务。I。
35、NQGestureDetector(INQ 手势检测器)是在启动时间创建的特定 类单例模式 (singleton) 。其目的是在手势控制区域中截取指示器事件 (pointer events)并且处理该事件以确定事件的类型 (诸如该事件是任务滑动还是垂直手势) 。 INQTaskSwipeManager(INQ 任务滑动管理器)是在启动时间创建的特定类 (单例模 式)并且其目的是控制任务之间的切换。INQTaskManager(INQ 任务管理器)提供到 INQTaskManagerService(INQ 任务管理服务) 的接口并且维持任务列表并且允许任务被启 动和 / 或关闭。INQSurfa。
36、cePool (INQ 表面池) 是在启动时间创建的特定类 (单例模式) 。其 目的是处理在任务滑动中使用的表面的创建、 删除和重定尺寸。INQAppObject(INQApp 对 象) 是特定类, 其表示任务列表中的打开的任务。每次任务滑动, 一系列 INQAppObject 被创 建。 0037 下面提供不同类之间的交互的进一步细节。 1) WindowManagerService 在启动时间创建 INQTaskSwipeManager, 用装置的尺寸初始 化它。然后在动画循环期间, setSurfacesPosition() 被调用以移动任务滑动中涉及的表 面。 2)在启动时间创建 IN。
37、QGestureDetector。然 后系统中的每个触摸事件经由 interceptPionter () 方法被路由。被认作手势的部分的所有触摸事件被消灭 (即不向上传 递堆栈) 。 3) INQGestureDetector 确定滑动何时开始 / 结束并且在 INQTaskSwipeManager 上调 用 StartTaskSwipe() 、 EndTaskSwipe() 和 PositionUpdate() 。这传递滑动的位置和目 前的旋转两者, 这些参数控制滑动。 4) 当开始所通知的滑动时, 从 INQTaskManager 查询目前的 INQOpenTaskList(INQ 打 开。
38、任务列表) , 这个列表和其中的任务用于初始化滑动。当完成滑动时, 如果需要切换任务, 则通知 INQTaskManager 切换到哪个任务。 5) INQSurfacePool 维持表面对象的池, 这些对象也用于渲染任务滑动位图。 6) 为每个任务滑动创建一系列 INQAppObject, 这些对象计算、 控制和发出位置命令以 移动表面来创建任务滑动。 0038 INQTaskManager 紧密地集成到常规安卓 ActivityManagerService(活动管理服 务) 中。其扩大了安卓的活动堆栈。任务列表一直在位置 0 处具有主页屏幕并且以正确的 顺序包含系统中的所有任务。 当启动时。
39、, 添加新任务, 最近启动的任务设置到主页屏幕的右 侧。任务保留在任务列表中直到它们被关闭。INQTaskManager 还维持目前任务 (即目前在 屏幕上的任务) 和每个任务的屏幕快照 (例如作为位图被捕获) 的记录。其提供在任务滑动 中使用的和使用打开的应用屏幕功能的可见任务 (一些被隐藏) 列表。 0039 在开始任务滑动之前, 目前在屏幕上的应用是活动堆栈中的最顶端活动。它是目 前可见的窗口并且它具有由系统分配的即时表面。该表面包含由应用绘制的用户界面。 说 明 书 CN 103797460 A 9 7/11 页 10 0040 任务滑动在系统中用于通过打开的任务或应用导航。在任务滑动。
40、期间, 下一个任 务的屏幕快照被绘制成虚假表面。这个虚假表面的位置在屏幕上被变更。即时表面的位置 被变更以与虚假表面共同移动。 0041 把输入 (诸如用户的手指) 移动到目前即时表面屏幕的左侧将使系统显示目前任 务的即时表面以及在任务列表中在目前任务的右侧的任务的屏幕快照虚假表面。 当用户使 其手指在屏幕的预定的区域 (诸如手势控制区域) 上时, 表面将响应于手指移动而移动。当 用户移除它们的手指时, 即时表面滑回或者过渡到屏幕快照虚假表面。 如果是后者, 则任务 被切换并且用即时任务代替屏幕快照。INQTaskSwipeManager 将过渡到虚假表面的屏幕快 照并且调用 INQTaskM。
41、anager 来把任务切换到新任务。 0042 图 7 示出了被集成到操作系统架构 (在这个情况中为安卓) 中以提供手势检测和 任务滑动的不同组件。在常规安卓架构中, 提供了具有 KeyInputQueue(键输入队列) 函数 21 的输入装置读取组件 20。KeyInputQueue 函数涉及将原始输入事件转化成正确的类型。 允许手势控制区域 11 中的移动事件沿堆栈向上。KeyInputQueue 还控制虚拟键。输入事 件调度组件 22 包括 WindowManagerService 函数, WindowManagerService 函数创建线程以 从 KeyInputQueue 函数读取。
42、输入事件并且将事件通过系统调度到正确的窗口 (即具有焦点 和该输入适用于的窗口) 。 0043 输 入 事 件 类 型 可 以 包 括 键 输 入 和 指 示 器 输 入, 并 且 在 本 实 施 例 中, INQGlobalGestureDetector(INQ 全局手势检测器) 函数截取所有指示器事件。如果事件 在手势控制区域 11 中, 则这些事件被 INQGestureDetector 消灭并且该事件用于控制任务 滑动。INQGlobalGestureDetector 调用 INQTaskSwipeManager 函数中的 StartTaskSwipe () 、 positionUpd。
43、ate() 和 EndTaskSwipe() 来控制任务滑动。 0044 如关于图 6 提到的, 当进入手指跟踪模式时调用 StartTaskSwipe() 并且每当在 手指跟踪模式中时由 INQGestureDetector 接收到移动事件就调用 positionUpdate () 。当 退出手指跟踪模式时调用 endTaskSwipe() 。 0045 图 8 示出了图 4A 到 4D 的显示屏幕 12 和手势控制区域 11 以及当用户执行优选地 在手势控制区域 11 中的滑动手势时关于在上文中描述的即时表面 12A 和虚假表面 12B 所 显示的过渡的简化图。在这个示例中, 即时表面 1。
44、2A 显示在显示屏幕 12 上。用户的手指从 位置 X 向位置 Y 移动到手势控制区域 11 的左侧。即时表面移动到左侧并且虚假表面 12A 显示到即时表面的右侧。关于位置改变 : X= 初始位置 =204 Y= 目前位置 =39 Delta 位置 =(Y-X) / 显示宽度 Delta 位置 =(39-204) /320=-0.516。 0046 负Delta位置被传递给INQTaskSwipeManager。 在另一方面 (图中未示出) , 如果手 指移动到手势控制区域 11 的右侧, 则即时表面移动到右侧并且在目前表面的左侧的虚假 表面被显示。这创建正 Delta 位置并且这被传递到 I。
45、NQTaskSwipeManager。 0047 任务滑动在纵向 (portrait) 模式和双横向 (landscape) 模式 (90 度和 270 度) 中 工作。改变屏幕定向, 就改变了显示坐标, 因为 0, 0 点被改变。 0048 将参考图 9a 到 9d 进一步详细地描述任务切换, 图 9a 到 9d 示出涉及在本发明的 说 明 书 CN 103797460 A 10 8/11 页 11 实施例中执行的滑动和切换的四个使用情况的序列图。 0049 对于任务滑动存在四个阶段 :(1) 开始任务滑动 - 图 9a,(2) 执行任务滑动 - 图 9b,(3) 执行滑动响应 - 图 9c。
46、,(4) 切换任务 - 图 9d。 0050 (1) 开始任务滑动 - 见图 9a -每个移动事件被传递到INQGlobalGestureDetector的interceptPointer () 方法。 如 果手势状态是空闲并且在触摸条区域中接收到向下移动事件, 则在 INQTaskSwipeManager 上调用 StartTaskSwipe() 。 -StartTaskSwipe() 通过调用 getOpenTasklist() 来从 INQTaskManager 获得目前的 INQTaskList(INQ 任务列表) 。这返回关于系统中的每个任务和哪个是目前任务的信息。 - 调用 INQ。
47、AnimateLiveWindows() 以设置关于 AppWindowTokens(App 窗口令牌) 的 动画对象和需要作为任务滑动的部分来移动的 WindowState(窗口状态) 对象。 - 如果发现对应的即时窗口, 则创建 INQAppObject 以表示目前的任务, 创建一系列 INQAppObject, INQTaskList 中的每个任务一个。setLiveAppObject()设置即时表面, setDummyAppObject() 建立具有屏幕快照的虚假表面。 - 如果成功创建 AppObject(App 对象) , 则调用 requestAnimationLocked() 。
48、以请求 WindowManagerService 开始动画。 0051 (2) 执行任务滑动 - 见图 9b - 当在任务滑动状态中时运动移动事件被 INQGlobalGestureDetector 截取并消灭。 Delta 位置信息被传递给 INQTaskSwipeManager 的 positionUpdate() 。 - 更新的位置被传递给每个 INQAppObject 对象, 每个对象基于 delta 位置和它在任务 列表中的位置来检查它目前是否在视图中。这些方法在 WindowManagerService 的输入调 度线程的上下文中运行。 - 然后在 INQTaskSwipeMana。
49、ger 上单独地调用 setSurfacesPositon() , 这被作为 WindowManagerService 动画循环 (从 PerformLayoutAndPlaceSurfacesLockedInner() 被 调用) 的部分来调用。这在每个对象上调用 executeSwipeAnimation() 。 - 如果对象目前不在视图中, 则立即返回, 否则视需要创建并释放表面 (这可以当我们 在表面全局事务的上下文中时被完成) 。表面被移动到正确的位置。 - 全部的结果是目前的任务随用户的手指向左 / 右移动并且视情况示出左侧 / 右侧的 虚假表面的屏幕快照。 0052 (3) 执行滑动响应 - 见图 9c -INQTaskSwipeManager 被 调 用 以 反 映 这 个 determineSwipeResponse() , determineSwipeResponse () 确定当用户使他们的手指离开触摸条时什么应当发生, 基于移 动的距离和移动的速度来判定过渡回到起始屏幕或改变到特定屏幕。 - 在这个点, 滑动已结束, 。