本发明整体涉及在具有触敏表面的电子设备上显示交互式通知,包括但不限于具有检测用于移动用户界面对象的输入的触敏表面的电子设备。
背景技术:
触敏电子设备允许用户通过触摸、轻击、捏合以及其他手势与设备交互。这些电子设备通常提供警示用户某些事件的通知,其中通知是信息的简单显示(例如,静态图标)。例如,智能手机可向用户显示通知元素以警示用户接收到的文本消息。在一些情况下,用户可轻击或者以其他方式选择通知元素以便启动相关联的应用程序,使得用户可回复该文本消息。然而,该方法要求用户在前台打开相关联的应用程序以便采用动作。因此,需要一种用于响应于接收到的通知来更加有效地执行动作的方法。
技术实现要素:
一种电子设备被配置成提供事件的交互式通知元素。当事件在电子设备处发生时,该电子设备向用户显示交互式通知元素。交互式通知元素响应于触摸输入并且作为对其的响应向用户提供一个或多个选项,每个选项与动作相关联以响应该通知。在一些实施例中,提供的选项不需要与该通知相关联的应用程序在前台中被打开。例如,用于接收到的文本消息的通知元素为用户提供选项以回复该文本消息,并且回复该文本消息的动作不需要文本消息应用程序在前台中被打开。使用户能够在不在前台中打开相关联的应用程序的情况下与交互式通知元素进行交互提高了响应接收到的通知元素的过程的效率。
一种用于在电子设备处显示交互式通知元素的方法包括检测与应用程序相关联的事件的发生,诸如用于文本消息应用程序的接收到的文本消息。响应于检测到事件的发生,显示通知元素,该通知元素包括与事件有关的信息,诸如文本消息的预览以及文本消息的发生者。设备的用户输入一个或多个手势的序列以显示出其响应于该通知元素可采用的动作。设备然后显示多个动作选项UI元素,对每个动作选项UI元素的选择致使应用程序执行不同的动作。在一些实施例中,针对接收到的文本消息通知元素,设备显示回复动作和删除动作。
一种用于提供方法以回复通知元素中接收到的消息的方法包括接收消息,然后显示包括有关接收到的消息的信息的通知元素。在一些实施例中,通知元素包括用于发起对消息的回复的用户界面(UI)元素。响应于接收到对UI元素的选择,用户提供用于用户生成的对消息的回复的信息。例如,针对接收到的文本消息通知元素,在一些实施例中UI元素是文本输入框。用户然后在文本输入框中键入消息。响应于接收到发送输入,用户生成的回复被提供用于传输。例如,在一些实施例中发送输入是“发送”按钮。当用户完成键入回复时,其选择“发送”按钮,并且键入的回复被提供给文本消息应用程序用于传输。
最后,一种用于注册应用程序的通知元素实例的方法包括从各种应用程序接收注册消息。每个注册消息将该应用程序与通知元素类别和一个或多个动作的映射相关联,该一个或多个动作针对一个或多个通知元素语境与通知元素类别相关联。用于应用程序中的每者的通知元素实例然后被注册或者被存储。当从应用程序接收到通知元素时,与该应用程序相关联的经注册的通知元素实例可被参考以确定在该通知元素的情况下显示什么动作。
附图说明
图1A是示出根据一些实施例的具有触敏显示器的便携式多功能设备的框图。
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图。
图2示出根据一些实施例的具有触摸屏的便携式多功能设备。
图3是根据一些实施例的具有显示器和触敏表面的示例性多功能设备的框图。
图4A示出根据一些实施例的便携式多功能设备上的应用程序菜单的示例性用户界面。
图4B示出了根据一些实施例的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图5A示出根据一些实施例的用于锁屏通知元素界面的示例性用户界面。
图5B示出根据一些实施例的用于锁屏通知元素界面的示例性用户界面。
图6示出根据一些实施例的用于认证码输入界面的示例性用户界面。
图7A示出根据一些实施例的用于通知元素中心界面的示例性用户界面。
图7B示出根据一些实施例的用于通知元素中心界面的示例性用户界面。
图8A示出根据一些实施例的用于主屏界面的示例性用户界面。
图8B示出根据一些实施例的用于主屏界面的示例性用户界面。
图9A示出根据一些实施例的情态警示界面的示例性用户界面。
图9B示出根据一些实施例的情态警示界面的示例性用户界面。
图10是示出了根据一些实施例的一种用于提供交互式通知元素的方法的流程图。
图11A示出根据一些实施例的用于内联回复主屏界面的示例性用户界面。
图11B示出根据一些实施例的用于内联回复主屏界面的示例性用户界面。
图12A示出根据一些实施例的用于内联回复情态的示例性用户界面。
图12B示出根据一些实施例的用于内联回复情态警示界面的示例性用户界面。
图13示出了根据一些实施例的用于音频消息锁屏界面的示例性用户界面。
图14示出了根据一些实施例的用于音频消息通知元素中心界面的示例性用户界面。
图15A示出根据一些实施例的用于音频消息主屏界面的示例性用户界面。
图15B示出根据一些实施例的用于音频消息主屏界面的示例性用户界面。
图15C示出根据一些实施例的用于音频消息主屏界面的示例性用户界面。
图15D示出根据一些实施例的用于音频消息主屏界面的示例性用户界面。
图16示出了根据一些实施例的用于音频消息情态警示界面的示例性用户界面。
图17是示出根据一些实施例的一种用于提供具有内联回复结构特征的交互式通知元素的方法的流程图。
图18A示出了根据一些实施例的通知元素系统的框图。
图18B示出了根据一些实施例的具有外部系统的通知元素系统的框图。
图19是示出了根据一些实施例的用于提供交互式通知元素的方法的流程图。
这些附图示出本发明的各种实施例,仅用于说明的目的。本领域的技术人员将从下面的讨论易于认识到可在不脱离本文所述的发明的原理的情况下采用本文所示的结构和方法的另选的实施例。
具体实施方式
在下文描述的实施例中,通过基于通知元素类别和通知元素语境提供具有交互式通知元素的一个或多个动作选项来实现用于显示交互式通知元素的方法。所提供的动作允许用于响应于通知元素执行动作。在一些实施例中,动作在后台被执行,意味着对应的应用程序不打开全部的用户界面。这允许用户通过交互式通知元素更加有效地与应用程序交互。
下文,图1A至图1B、图2和图3提供对示例性设备的描述。图4A-4B示出了用于示例性设备的示例性用户界面。图5-9和图11-16示出了用于显示交互式通知元素的各种实施例的示例性用户界面。图18A和18B示出了通知元素系统的框图。图19示出了用于提供交互式通知元素的方法的流程图。
示例性设备
现在将详细地参考实施例,这些实施例的实例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施例的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施例可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路、和网络,从而不会不必要地使实施例的方面晦涩难懂。
还将理解的是,虽然术语“第一”、“第二”等在本文中在一些实施例中用来描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用来将一个元件与另一元件区分开。例如,第一接触可以被命名为第二接触,并且类似地,第二接触可以被命名为第一接触,而不背离各种所描述的实施例的范围。第一接触和第二接触两者都是接触,但是它们不是同一接触。
在本文中对各种所描述的实施例的描述中所使用的术语只是为了描述特定实施例的目的,而并非旨在进行限制。如在对各种所述实施例中的描述和所附权利要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”或“在……时”或“响应于确定”或“响应于检测”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为意思是“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的过程的实施例。在一些实施例中,该设备是还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施例包括但不限于来自Apple Inc(Cupertino,California)的iPod和设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触摸板)的膝上型电脑或平板电脑。还应当理解的是,在一些实施例中,设备不是便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触控板)的台式计算机。
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
所述设备通常支持各种应用程序,诸如以下中的一者或多者:绘图应用程序、展示应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、锻练支持应用程序、相片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、网页浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
在设备上执行的各种应用程序任选地使用至少一个共用的物理用户接口设备,诸如触敏表面。触敏表面的一种或多种功能以及显示在设备上的对应信息任选地从一种应用程序调整和/或变化至下一种应用程序和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
现在关注具有触敏显示器的便携式设备的实施例。图1A是示出根据一些实施例的具有触敏显示器112的便携式多功能设备100的框图。触敏显示器112有时为了方便被叫做“触摸屏”,并且有时被称为或被叫做触敏显示系统。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、外围设备接口118、射频电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其它输入或控制设备116和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100上的接触的强度的一个或多个强度传感器165(例如,触敏表面,诸如设备100的触敏显示系统112)。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器167(例如,在触敏表面,诸如设备100的触敏显示系统112或设备300的触控板355上生成触觉输出)。这些部件任选地通过一根或多根通信总线或信号线103通信。
如在本说明书和权利要求书中所使用的,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均数)以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触面积的大小和/或其变化、邻近接触的触敏表面的电容和/或其变化、和/或邻近接触的触敏表面的电阻和/或其变化任选地用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已超过强度阈值(例如,强度阈值是以与替代物测量对应的单位来描述的)。在一些具体实施中,接触力或压力的替代物测量值被转换成估计的力或压力,并且估计的力或压力用于确定是否已经超过强度阈值(例如,强度阈值是以压力的单位测量的压力阈值)。
如本说明书和权利要求书中所使用,术语“触觉输出”是指将由用户通过用户的触摸感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解读为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释为或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是存在触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的感官知觉。
应当理解,设备100仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件以硬件、软件、或硬件与软件两者的组合来实现,包括一个或多个信号处理和/或专用集成电路。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其它非易失性固态存储器设备。设备100的其他部件(诸如CPU 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
外围设备接口118可被用来将设备的输入和输出外围设备耦接到CPU120和存储器102。所述一个或多个处理器120运行或执行存储在存储器102中的各种软件程序和/或指令集以执行设备100的各种功能并处理数据。
在一些实施例中,外围设备接口118、CPU 120、和存储器控制器122任选地被实现在单个芯片诸如芯片104上。在一些其他实施例中,它们任选地被实现在独立的芯片上。
RF(射频)电路108接收和发送也被叫做电磁信号的RF信号。RF电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与通信网络以及其他通信设备进行通信。RF电路108任选地包括用于执行这些功能的众所周知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路108任选地通过无线通信来与网络以及其他设备进行通信,该网络为诸如互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。无线通信任选地使用多个通信标准、协议和技术中的任一者,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进、纯数据(EV-DO)、HSPA、HSPA+、双小区HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE 802.1l a、IEEE 802.1lb、IEEE 802.1l g和/或IEEE 802.1ln)。
音频电路110、扬声器111和麦克风113提供用户和设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听的声波。音频电路110还接收由麦克风113根据声波转换的电信号。音频电路110将电信号转换为音频数据,并将音频数据传输到外围设备接口118以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或RF电路108。在一些实施例中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110与可移除的音频输入/输出外围设备之间的接口,该外围设备诸如仅输出的耳机或者具有输出(例如,单耳或双耳耳机)和输入(例如,麦克风)二者的耳麦。
I/O子系统106将设备100上的输入/输出外围设备诸如触摸屏112和其它输入控制设备116耦接到外围设备接口118。I/O子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其它输入或控制设备的一个或多个输入控制器160。该一个或多个输入控制器160从其它输入控制设备116接收电信号/发送电信号到其它输入控制设备116。其它输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击式转盘等等。在一些另选实施例中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口以及指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
触敏显示器112提供设备与用户之间的输入接口和输出接口。显示控制器156从触摸屏112接收电信号和/或将电信号发送至触摸屏112。触摸屏112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频和它们的任何组合(统称为“图形”)。在一些实施例中,一些视觉输出或全部的视觉输出对应于用户界面对象。
触摸屏112具有基于触觉和/或触觉接触从用户接受输入的触敏表面、传感器或传感器组。触摸屏112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触摸屏112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与显示在触摸屏112上的用户界面对象(例如,一个或多个软键、图标、网页或图像)的交互。在一个示例性实施例中,触摸屏112和用户之间的接触点对应于用户的手指。
触摸屏112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施例中使用其他显示技术。触摸屏112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触摸屏112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一个示例性实施例中,使用投射式互电容感测技术,诸如从Apple Inc.(Cupertino,California)的iPod和中发现的技术。
触摸屏112任选地具有超过100dpi的视频分辨率。在一些实施例中,触摸屏具有约160dpi的视频分辨率。用户任选地使用任何合适的物体或附加物诸如触笔、手指等等与触摸屏112接触。在一些实施例中,将用户界面设计用来主要与基于手指的接触和手势工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施例中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以用于执行用户所期望的动作。
在一些实施例中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施例中,触摸板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板任选地是与触摸屏112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电力状态指示器(例如,发光二极管(LED))和任何其它与便携式设备中电力的生成、管理和分配相关联的部件。
设备100任选地还包括一个或多个光学传感器164。图1A示出了耦接到I/O子系统106中的光学传感器控制器158的光学传感器。光学传感器164任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也叫做相机模块),光学传感器164任选地捕获静态图像或视频。在一些实施例中,光学传感器位于设备100的后部上,与设备前部上的触摸屏显示器112相背对,使得触摸屏显示器能够用作用于静态图像和/或视频图像采集的取景器。在一些实施例中,另一光学传感器位于设备的前部上,使得用户在触摸屏显示器上观看其它视频会议参与者的同时,任选地获得该用户的图像以用于视频会议。
设备100任选地还包括一个或多个接触强度传感器165。图1A示出耦接到I/O子系统106中强度传感器控制器159的接触强度传感器。接触强度传感器165任选地包括一个或多个压阻应变计、电容式力传感器、电力传感器、压电力传感器、光学力传感器、电容式触敏表面或其它强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施例中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些实施例中,至少一个接触强度传感器位于设备100的与位于设备100的前部上的触摸屏显示器112相背对的后部上。
设备100任选地还包括一个或多个接近传感器166。图1A示出了耦接到外围设备接口118的接近传感器166。另选地,接近传感器166耦接到I/O子系统106中的输入控制器160。在一些实施例中,当多功能设备被置于用户的耳朵附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并且禁用触摸屏112。
设备100任选地还包括一个或多个触觉输出发生器167。图1A示出耦接到I/O子系统106中触觉反馈控制器161的触觉输出发生器。触觉输出发生器167任选地包括:一个或多个电声设备,诸如扬声器或其他音频部件;和/或将能量转换成线性运动的机电设备,诸如电机、螺线管、电活性聚合物、压电致动器、静电致动器或其他触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。接触强度传感器165从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感测到的触觉输出。在一些实施例中,至少一个触觉输出发生器与触敏表面(例如,触敏显示系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面之内/之外)或侧向地(例如,在与设备100的表面相同的平面中前后地)移动触敏表面来生成触觉输出。在一些实施例中,至少一个触觉输出发生器传感器位于设备100的后部上,与位于设备100的前部上的触摸屏显示器112相背对。
设备100任选地还包括一个或多个加速度计168。图1A示出了耦接到外围设备接口118的加速度计168。另选地,加速度计168任选地耦接到I/O子系统106中的输入控制器160。在一些实施例中,基于对从该一个或多个加速度计所接收到的数据的分析而在触摸屏显示器上以纵向视图或横向视图显示信息。设备100任选地除了加速度计168之外还包括磁力仪(未示出)和GPS(或GLONASS或其他全球导航系统)接收器(未示出),用于获得关于设备100的位置和取向(例如,纵向或横向)的信息。
在一些实施例中,被存储在存储器102中的软件部件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、文本输入模块(或指令集)134、全球定位系统(GPS)模块(或指令集)135以及应用程序(或指令集)136。此外,在一些实施例中,存储器102存储设备/全局内部状态157,如图1A和图3中所示。设备/全局内部状态157包括以下各项中的一者或多者:活动应用程序状态,该活动应用程序状态用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,该显示状态用于指示什么应用程序、视图或其他信息占据触摸屏显示器112的各个区域;传感器状态,该传感器状态包括从设备的各个传感器和输入控制设备116获得的信息;和关于设备位置和/或姿态的位置信息。
操作系统126(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、功率管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
通信模块128有利于通过一个或多个外部端口124与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收到的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施例中,外部端口是与iPod(Apple Inc.的商标)设备上所使用的30针连接器相同的或类似的和/或与其兼容的多针(例如,30针)连接器。
接触/运行模块130任选地检测与触摸屏112(结合显示控制器156)和其他触敏设备(例如,触摸板或物理点击式转盘)的接触。接触/运动模块130包括各种软件部件以用于执行与接触检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件),以及确定接触是否已停止(例如,检测手指抬起事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据来表示。这些操作任选地被应用于单个接触(例如,一个手指接触)或多个同时接触(例如,“多触摸”/多个手指接触)。在一些实施例中,接触/运动模块130和显示控制器156检测触摸板上的接触。
在一些实施例中,接触/运动模块130使用一组一个或多个强度阈值来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一些实施例中,根据软件参数来确定强度阈值的至少一个子集(例如,强度阈值不是由特定物理致动器的激活阈值来确定的,并且可在不改变设备100的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏的鼠标“点击”阈值可被设定成预定义的阈值的大范围中的任一个阈值。另外,在一些具体实施中,向设备的用户提供用于调节一组强度阈值中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的系统级点击来一次调节多个强度阈值)的软件设置。
接触/运动模块130任选地检测用户的手势输入。触敏表面上的不同手势具有不同接触图案(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测具体接触图案来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,在触敏表面上检测手指轻扫手势包括检测手指按下事件、然后检测一个或多个手指拖动事件、并且随后检测手指抬起(抬离)事件。
图形模块132包括用于在触摸屏112或其他显示器上呈现和显示图形的各种已知的软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉特征)的部件。如本文所用,术语“图形”包括可以被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软按键的用户界面对象)、数字图像、视频、动画等等。
在一些实施例中,图形模块132存储待使用的用于表示图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。
触觉反馈模块133包括用于生成指令的各种软件部件,该指令由一个或多个触觉输出发生器167使用,以便响应于用户与设备100的交互而在设备100上的一个或多个位置处生成触觉输出。
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、IM 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置并提供了在各种应用程序中使用的这种信息(例如,提供至用于基于位置的拨号的电话138;提供至相机143作为图片/视频元数据;以及提供至提供基于位置的服务诸如天气桌面小程序、当地黄页桌面小程序和地图/导航桌面小程序的应用程序)。
应用程序136任选地包括以下模块(或指令集)或者其子集或超集:
·联系人模块137(有时叫做通讯录或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息(IM)模块141;
·健身支持模块142;
·用于静态图像和/或视频图像的相机模块143;
·图像管理模块144;
·浏览器模块147;
·日历模块148;
·桌面小程序模块149,其任选地包括以下中的一者或多者:天气桌面小程序1491、股票桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、字典桌面小程序149-5和由用户获得的其他桌面小程序,以及用户创建的桌面小程序149-6;
·用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
·搜索模块151;
·视频和音乐播放器模块152,任选地由视频播放器模块和音乐播放器模块构成;
·便笺模块153;
·地图模块154;和/或
·在线视频模块155。
任选地存储在存储器102中的其他应用程序136的实施例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、展示应用程序、支持JAVA的应用程序、加密、数字权益管理、语音识别和语音复制。
结合触摸屏112、显示控制器156、接触模块130、图形模块132以及文本输入模块134,联系人模块137任选地用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中联系人模块137的应用程序内部状态192中),包括:将姓名添加至通讯录;从通讯录中删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名相关联;将图像与姓名相关联;对姓名进行分类和排序;提供电话号码或电子邮件地址以发起和/或促进通过电话138、视频会议139、电子邮件140或IM 141进行的通信等等。
结合RF电路108、音频电路110、扬声器111、麦克风113、触摸屏112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电话模块138任选地被用于输入对应于电话号码的字符序列、访问通讯录137中的一个或多个电话号码、修改已经输入的电话号码、拨打相应的电话号码、进行会话以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一种。
结合RF电路108、音频电路110、扬声器111、麦克风113、触摸屏112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路108、触摸屏112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路108、触摸屏112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于输入与即时消息对应的字符序列、修改先前输入的字符、发送相应即时消息(例如,使用针对基于电话的即时消息的短消息服务(SMS)或多媒体消息服务(MMS)协议或者使用针对基于互联网的即时消息的XMPP、SIMPLE、或IMPS)、接收即时消息以及查看所接收到的即时消息的可执行指令。在一些实施例中,所传输和/或接收的即时消息任选地包括图形、照片、音频文件、视频文件和/或MMS和/或增强消息服务(EMS)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS传输的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、或IMPS传输的消息)两者。
结合RF电路108、触摸屏112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154、和音乐播放器模块146,健身支持模块142包括用于以下操作的可执行指令:创建健身(例如具有时间、距离、和/或卡路里燃烧目标);与健身传感器(移动设备)进行通信;接收健身传感器数据;校准用于监测健身的传感器;选择健身音乐并进行播放;以及显示、存储和传输健身数据。
结合触摸屏112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、或从存储器102删除静态图像或视频的可执行指令。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、呈现(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合RF电路108、触摸屏112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括用于根据用户指令来浏览互联网(包括搜索、链接到、接收、和显示网页或其部分,以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路系统108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括可执行指令以根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)。
结合RF电路108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股票桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4和字典桌面小程序149-5)或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施例中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施例中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序创建者模块150任选地被用户用来创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括根据用户指令来搜索匹配一个或多个搜索条件(例如,一个或多个用户指定的搜索词)的存储器102中的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及显示、展示或以其他方式回放视频(例如,在触摸屏112上或在经由外部端口124连接的外部显示器上)的可执行指令。在一些实施例中,设备100任选地包括MP3播放器,诸如iPod(Apple Inc.的商标)的功能性。
结合触摸屏112、显示控制器156、接触模块130、图形模块132和文本输入模块134,记事本模块153包括根据用户指令来创建和管理记事、待办事项等的可执行指令。
结合RF电路108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135和浏览器模块147,地图模块154任选地用于根据用户指令接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾驶方向;与特定位置处或附近的商店及其他兴趣点有关的数据;以及其他基于位置的数据)。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括指令,该指令允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏上或在经由外部端口124所连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式诸如H.264的在线视频。在一些实施例中,即时消息模块141而不是电子邮件客户端模块140被用于发送至特定的在线视频的链接。
上述所识别的每个模块和应用程序对应于用于执行上述一种或多种功能以及在本申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施例中被组合或以其他方式重新布置。在一些实施例中,存储器102任选地存储上述模块和数据结构的子集。此外,存储器102任选地存储上面未描述的附加的模块和数据结构。
在一些实施例中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触摸板来执行的设备。通过使用触摸屏和/或触摸板作为用于设备100的操作的主要输入控制设备,任选地减少设备100上的物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。
唯一地通过触摸屏和/或触摸板执行的该预定义的一组功能任选地包括在用户界面之间的导航。在一些实施例中,触摸板在被用户触摸时将设备100从被显示在设备100上的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施例中,使用触摸板来实现“菜单按钮”。在一些其他实施例中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触摸板。
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图。在一些实施例中,存储器102(图1A中)或存储器370(图3)包括事件分类器170(例如,在操作系统126中)和相应的应用程序136-1(例如,前述应用程序137-13、155、380-390中的任一项)。
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些实施例中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态指示当应用程序是活动的或正在执行时被显示在触敏显示器112上的一个或多个当前应用程序视图。在一些实施例中,设备/全局内部状态157被事件分类器170用于确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用于确定要将事件信息递送到的应用程序视图191。
在一些实施例中,应用程序内部状态192包括附加信息,诸如以下各项中的一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示正被应用程序136-1显示的信息或准备好用于被应用程序136-1显示的信息的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,触敏显示器112上的用户触摸,作为多点触摸手势的一部分)的信息。外围设备接口118传输其从I/O子系统106或传感器(诸如接近传感器166)、一个或多个加速度计168和/或麦克风113(通过音频电路110)所接收到的信息。外围设备接口118从I/O子系统106所接收到的信息包括来自触敏显示器112或触敏表面的信息。
在一些实施例中,事件监视器171以预先确定的间隔将请求发送至外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他实施例中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
在一些实施例中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户能在显示器上看到的控件和其他元件构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被认为是正确输入的事件集任选地至少部分地基于初始触摸的命中视图来确定,所述初始触摸开始基于触摸的手势。
命中视图确定模块172接收与基于接触的手势的子事件相关的信息。当应用程序具有在分级结构中组织的多个视图时,命中视图确定模块172将命中视图识别为应对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施例中,活动事件识别器确定模块173确定仅命中视图应接收特定子事件序列。在其他实施例中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃参与的视图,并且因此确定所有活跃参与的视图应接收特定子事件序列。在其他实施例中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,但是分级结构中的更高的视图将仍然保持为活跃参与的视图。
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施例中,事件分配器模块174将事件信息递送到由活动事件识别器确定模块173确定的事件识别器。在一些实施例中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应事件接收器模块182进行检索。
在一些实施例中,操作系统126包括事件分类器170。另选地,应用程序136-1包括事件分类器170。在另一个实施例中,事件分类器170是独立的模块,或者是被存储在存储器102中的另一个模块(诸如接触/运动模块130)的一部分。
在一些实施例中,应用程序136-1包括多个事件处理程序190和一个或多个应用程序视图191,其中每个应用程序视图包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他实施例中,事件识别器180中的一个或多个应用程序视图是独立模块的一部分,该独立模块诸如用户界面工具包(未示出)或应用程序136-1从中继承方法和其他属性的更高水平的对象。在一些实施例中,相应事件处理程序190包括以下各项中的一者或多者:数据更新器176、对象更新器177、GUI更新器178、和/或从事件分类器170所接收到的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。另选地,应用程序视图191中的一个或多个应用程序视图包括一个或多个相应事件处理程序190。另外,在一些实施例中,数据更新器176、对象更新器177和GUI更新器178中的一者或多者被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施例中,事件识别器180还包括元数据183和事件传递指令188(其任选地包括子事件传递指令)的至少一个子集。
事件接收器182接收来自事件分类器170的事件信息。事件信息包括关于子事件的信息例如触摸或触摸移动。取决于子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些实施例中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向趋向,反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件、或者确定或更新事件或子事件的状态。在一些实施例中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他事件。在一些实施例中,事件187中的子事件例如包括触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,事件1(187-1)的定义是在被显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬起(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)以及预先确定时长的第二次抬起(触摸结束)。在另一个示例中,事件2(187-2)的定义是被显示对象上的拖动。例如,该拖动包括在该被显示对象上的预先确定时长的触摸(或接触)、该触摸在触敏显示器112上的移动、以及该触摸的抬起(触摸结束)。在一些实施例中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
在一些实施例中,事件定义187包括用于相应用户界面对象的事件的定义。在一些实施例中,事件比较器184执行命中测试以确定哪个用户界面对象与子事件相关联。例如,在触摸显示器112上显示三个用户界面对象的应用程序视图中,当在触敏显示器112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
在一些实施例中,相应事件187的定义还包括延迟动作,该延迟动作延迟事件信息的递送,直到已确定子事件序列是否确实对应于或不对应于事件识别器的事件类型。
当相应事件识别器180确定子事件序列不与事件定义186中的任何事件匹配时,该相应事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其它事件识别器(如果有的话)继续跟踪和处理正在进行的基于触摸的手势的子事件。
在一些实施例中,相应事件识别器180包括具有指示事件传递系统应该如何执行对活跃参与的事件识别器的子事件传递的能配置的属性、标记和/或列表的元数据183。在一些实施例中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的能配置的属性、标志和/或列表。在一些实施例中,元数据183包括指示子事件是否被递送到视图或程序化分级结构中的变化的水平的可配置的属性、标记和/或列表。
在一些实施例中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施例中,相应事件识别器180将与该事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些实施例中,事件识别器180抛出与所识别的事件相关联的标记,并且与该标记相关联的事件处理程序190获取该标记并执行预定义的过程。
在一些实施例中,事件递送指令188包括递送关于子事件的事件信息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件序列相关联的事件处理程序或者递送到活跃参与的视图。与子事件序列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
在一些实施例中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176对联系人模块137中所使用的电话号码进行更新,或者对视频播放器模块145中所使用的视频文件进行存储。在一些实施例中,对象更新器177创建和更新在应用程序136-1中使用的对象。例如,对象更新器176创建新的用户界面对象或更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并且将显示信息发送到图形模块132用以显示在触敏显示器上。
在一些实施例中,一个或多个事件处理程序190包括数据更新器176、对象更新器177和GUI更新器178或者具有对数据更新器176、对象更新器177和GUI更新器178的访问权限。在一些实施例中,数据更新器176、对象更新器177和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施例中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述讨论还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地利用鼠标移动和鼠标按钮按压,任选结合单次或多次键盘按压或保持;触摸板上的接触移动,例如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛运动;生物测定输入;和/或其任意组合,作为对应于子事件的输入,定义要识别的事件。
图2根据一些实施例示出了具有触摸屏112的一种便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在本实施例中以及在下文中描述的其他实施例中,用户能够通过例如利用一个或多个手指202(在附图中没有按比例绘制)或者利用一个或多个触笔203(在附图中没有按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施例中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些实施例中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择相应应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“返回”按钮或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。另选地,在一些实施例中,菜单按钮被实现为显示在触摸屏112上的GUI中的软键。
在一些实施例中,设备100包括触摸屏112、菜单按钮204、用于使设备开/关机和用于锁定设备的下压按钮206、一个或多个音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔12和对接/充电外部端口124。下压按钮206被任选地用于:通过按下按钮并使按钮在下压状态保持预先确定的时间间隔来使设备通电/断电;通过按下按钮并在经过预先确定的时间间隔之前释放按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在另选的实施例中,设备100还通过麦克风113来接受用于激活或停用某些功能的语音输入。设备100还任选地包括用于检测触摸屏112上的接触的强度的一个或多个接触强度传感器165,和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器167。
图3是根据一些实施例的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施例中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于将这些部件互联的一根或多根通信总线320。通信总线320任选地包括将系统部件互连并且控制系统部件之间的通信的电路(有时叫做芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,该显示器通常是触摸屏显示器。I/O接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触摸板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的一个或多个触觉输出发生器167)、传感器359(例如,光学传感器、加速度传感器、接近传感器、触敏传感器、和/或类似于以上参考图1A所述的一个或多个接触强度传感器165的接触强度传感器)。存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备,并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器370任选地包括远离CPU 310定位的一个或多个存储设备。在一些实施例中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子集。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块、和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3中上述所识别的元件中的每一个元件任选地存储在一个或多个先前提到的存储器设备中。上述所识别的模块的每一个模块对应于用于执行上述功能的一组指令。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子集任选地在各种实施例中被组合或以其他方式重新布置。在一些实施例中,存储器370任选地存储上述模块和数据结构的子集。此外,存储器370任选地存储上面未描述的附加的模块和数据结构。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施例。
图4A示出根据一些实施例的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施例中,用户界面400包括以下元件或者其子集或超集:
·一个或多个无线通信(诸如蜂窝信号和Wi-Fi信号)的一个或多个信号强度指示符402;
·时间404;
·蓝牙指示符405;
·电池状态指示符406;
·具有常用应用程序的图标的托盘408,该图标诸如:
○电话模块138的被标记为“电话”的图标416,该图标416任选地包括未接来电或语音留言的数量的指示符414;
○电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示符410;
○浏览器模块147的被标记为“浏览器”的图标420;和
○视频和音乐播放器模块152(也称为iPod(Apple Inc.的商标)模块152)的被标记为“iPod”的图标422;以及
·其他应用程序的图标,诸如:
○IM模块141的标记“文本”的图标424;
○日历模块148的被标记为“日历”的图标426;
○图像管理模块144的被标记为“照片”的图标428;
○相机模块143的被标记为“相机”的图标430;
○在线视频模块155的被标记为“在线视频”的图标432;
○股市桌面小程序149-2的被标记为“股市”的图标434;
○地图模块154的被标记为“地图”的图标436;
○天气桌面小程序149-1的被标记为“天气”的图标438;
○闹钟桌面小程序149-4的被标记为“时钟”的图标440;
○健身支持模块142的被标记为“健身支持”的图标442;
○记事本模块153的被标记为“记事本”的图标444;和
○用于设置应用程序或模块的图标446,该图标446提供对设备100及其各种应用程序136的设置的访问。
应当指出的是,图4A中示出的图标标签仅仅是示例性的。例如,视频和音乐播放器模块152的图标422被标记为“音乐”或“音乐播放器”。其他标签任选地用于各种应用程序图标。在一些实施例中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施例中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图4B示出了具有与显示器450(例如,触摸屏显示器112)分开的触敏表面451(例如,图3中的平板或触摸板355)的设备(例如,图3中的设备300)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器357中的一个或多个传感器),和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的实施例中的一些实施例,但是在一些实施例中,设备检测与显示器分开的触敏表面上的输入,如图4B中所示。在一些实施例中,触敏表面(例如,图4B中的451)具有与显示器(例如,450)上的主轴线(例如,图4B中的453)对应的主轴线(例如,图4B中的452)。根据这些实施例,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4B中的460和462)(例如,在图4B中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(例如图4B中的450)分开时,由设备在触敏表面上检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势)来给出下面的示例,但是应当理解的是,在一些实施例中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触)、之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由光标位于轻击手势的位置之上时的鼠标点击(例如,而不是对接触的检测、之后是终止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个电脑鼠标任选地被同时使用,或一个鼠标和多个手指接触任选地被同时使用。
如本文所用,术语“焦点选择器”是指指示用户正与之交互的用户界面的当前部分的输入元件。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图3中的触摸板355或图4B中的触敏表面451)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图1A中的触敏显示器系统112或图4A中的触摸屏112)的一些具体实施中,触摸屏上的所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,由接触进行的按压输入)时,该特定用户界面元素根据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据用户界面的不同区域之间的焦点移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制的以便递送与用户界面的用户预期的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触摸板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设备显示器上示出的其他用户界面元素)。
用户界面和相关联的过程
现在将注意力转到可在具有显示器和触敏表面的电子设备(诸如设备300或便携式多功能设备100)上实现的用户界面(“UI”)及相关联的过程的实施例。另选地,本文所述的UI和过程可在任何其他设备类型上实现。
图5-图9和图11-图16示出了根据一些实施例的用于显示交互式通知元素的示例性用户界面。这些附图中的用户界面被用于阐示下面介绍的过程,包括图10、图17和图19中的过程。
在一些实施例中设备诸如设备100上的应用程序以前台模式或者以后台模式运行。当应用程序在前台运行时,应用程序是在屏幕上显示的主要项目或者唯一项目,诸如图2中的触摸屏112。这允许用户访问应用程序的特征结构中的所有。当应用程序在后台运行时,应用程序不是在屏幕上显示的主要项目。在一些实施例中,当应用程序在后台运行时,聘雇不指示应用程序正在运行。
交互式通知元素允许设备诸如设备100的用户在不需要在前台打开应用程序的情况下与应用程序交互。设备在屏幕上显示通知元素以通知用户应用程序中的事件。在一些实施例中,应用程序中的事件是需要来自用户的输入的动作或者状态,例如,消息的接收,诸如文本消息或者电子邮件。在其他实施例中,应用程序中的事件不必要求来自用户的输入。
交互式通知元素
图5A-图5B示出了用于锁屏界面上的交互式通知元素的示例用户界面。图5A示出了正在屏幕502上显示锁屏的设备501。锁屏还包括解锁用户界面(UI)元素505、第一交互式通知元素UI元素510A(也被称为第一交互式通知元素510A)、第二交互式通知元素UI元素510B(也被称为第二交互式通知元素510B)以及时间/日期显示530。解锁UI元素还包括箭头的图像和“滑动以解锁”文本。用户可在解锁UI元素505上输入手势,诸如在箭头的方向轻扫以便解锁设备501。图5A中示出的第一交互式通知元素510A是文本消息通知元素。第一交互式通知元素510A跨屏幕112的宽度在水平方向上延伸并且还包括图标515、信头520和主内容525。图标515可为表示对应的应用程序的图像。例如,图标515显示与消息应用程序相关联的图像。在其他实施例中,如果该通知元素与不是设备的用户的第二人相关联(例如,接收到来自用户的朋友的电子邮件),图标515为与第二人相关联的图像,诸如大头像。信头520是提供有关通知元素的信息的文本。例如,针对文本消息通知元素,信头520是消息发送者的名称。主内容525还显示与通知元素有关的信息。针对文本消息通知元素,主内容525是实际的文本消息自身,或者其部分。
用户可与交互式通知元素510A进行交互来显示一个或多个选项以用于与通知元素或者相关联的应用程序交互。例如,响应于接收到至交互式通知元素510A的左边的轻扫输入,一个或多个选项UI元素被显示,如下面参考图5B所描述的。在一些实施例中,在交互式通知元素510A上接收到轻击输入启动相关联的应用程序。第二交互式通知元素510B包括与第一交互式通知元素510A类似的或者相同的元素。尽管图5A中示出了两个交互式通知元素510,锁屏可显示更多或者更少的交互式通知元素。为了显示如下所述的一个或多个选项UI元素545和550,用户轻扫箭头535所示的第一交互式通知元素510A上的左边以便显示两个选项UI元素545和550(图5B)。在一些实施例中,来自用户的轻扫输入包括屏幕502上的接触和超过阈值的连续的移动。
图5B示出了根据一个实施例的在图5A中的设备501上显示的锁屏,但是其中第一交互式通知元素510A显示附加的选项用于与相关联的应用程序交互。上述来自用户的轻扫输入致使整个第一交互式通知元素510A移动到屏幕502上的左边使得第一交互式通知元素内容540的仅部分可见。在一些实施例中,如果连续的移动不超过阈值,则第一交互式通知元素510A移动回至其在屏幕502上的初始位置。选项UI元素545和550在不再被第一交互式通知元素510A占据的锁屏界面的区域中被显示。选项UI元素545还包括指示与选项UI元素545相关联的图标的文本545A。选项UI元素550还包括指示与选项UI元素550相关联的图标的文本550A。在一些实施例中,选项UI元素545与回复动作相关联,以允许用户回复文本消息,并且选项UI元素550与删除动作相关联,以允许用户删除文本消息。在该实施例中,文本545A包括字词“回复”并且文本550A包括字词“删除”。在其他实施例中,取决于通知元素类别和语境不同的选项UI元素545和550被显示,如下面进一步所述的。响应于用户在第一交互式通知元素510A上轻扫右边,锁屏界面将第一交互式通知元素510A移动回至右边并隐藏选项UI元素。第二交互式通知元素510B在锁屏界面上仍然可见。尽管两个选项UI元素在图B中被显示,在其他实施例中更多或者更少的选项UI元素可被显示。
在一些实施例中,选择在锁屏界面上显示的某些选项要求用户输入密码。例如,诸如回复文本消息或者删除电子邮件的动作可要求用户输入密码,以便防止非授权用户在设备501上采取实质动作。然而,诸如读取文本消息的动作可不需要密码验证,因为读取文本消息的动作可能不致使设备501上的不可逆的变化。在一些实施例中,一旦用户已经输入密码,用户可在不再次输入密码的情况下继续与锁屏上显示的交互式通知元素交互。然而,当锁屏被关闭时(例如,如果用户关闭显示器501的屏幕502,或者其超时),密码被重置,并且用户必须再次输入密码以便执行需要认证的动作。例如,用户选择删除电子邮件并被提示输入密码。在用户输入密码之后,用户可在不需要针对每个动作输入密码的情况下执行需要认证的其他动作,诸如删除另一个电子邮件、发送文本消息等,在一些实施例中,输入的密码保持“活动的”或“有效的”只要屏幕502是仍然开着的。在其他实施例中,密码具有超时特征结构,其中在已经过去规定量的时间之后密码变成“无效的”或者“非活动的”。在一些实施例中,屏幕502在规定量的时间之后自动地关闭,因此在执行需要认证的附加的动作之前需要用户重新输入密码。
图6示出了根据一些实施例的密码请求界面。密码请求界面被显示在设备601的屏幕602上并且包括密码显示区域605和键盘610。键盘610允许用户输入数字密码,并且密码显示区域605在用户输入密码时显示密码的每个数字。在其他实施例中,键盘610除了数字之外可包括字母,以允许用户输入字母数字混合编制的密码,并且密码显示区域605在密码被输入时隐藏密码字符。
图7A-图7B示出了根据一个实施例的用于在设备701的屏幕702上显示的通知元素中心界面上的交互式通知元素的用户界面。在一些实施例中,设备701是设备100并且屏幕702是屏幕112。在通知元素中心界面中显示的交互式通知元素与锁屏界面相同,除了通知元素中心界面不需要针对用户的密码认证。如果设备701正在显示通知元素中心界面,则设备701的用户已经输入密码或者以其他方式被授权使用设备701。图7A示出了设备701正在屏幕702上显示通知元素中心界面。图7A中所示的通知元素中心界面与图5A中所示的锁屏界面几乎相同,除了通知元素中心界面不包括解锁UI元素505或者时间/日期显示530。通知元素中心界面包括交互式通知元素710A和710B,其上面在图5A中参考510A和510B被描述并且为了简洁起见这里将不进一步描述。在一些实施例中,在交互式通知元素710A上接收到轻击输入启动相关联的应用程序。为了显示出下述的选项UI元素725和730,用户如箭头715所示轻扫至左边。轻扫运动715类似于上面参考图5A所述的运动。
图7B示出了根据一个实施例的图7A的设备701,但是其中第一交互式通知元素710A显示附加的选项用于与相关联的应用程序交互。第一交互式通知元素710A、交互式通知元素内容720和选项UI元素725和730类似于上面参考图5B所述的类似的元素,并且为了简洁起见这里将不进一步描述。
图8A-图8B示出了根据一个实施例的主屏界面上的交互式通知元素。图8A示出了在屏幕802上显示主屏界面的设备801。在一些实施例中,设备801是设备100并且屏幕802是屏幕112。主屏界面包括应用程序图标805和交互式通知元素横幅810。在上文中参考图4A对应用程序图标805进行了进一步描述。图8A中所示的交互式通知元素横幅810是文本消息通知元素。交互式通知元素横幅810被定位在屏幕112的顶部,跨屏幕802的宽度延伸,并且进一步包括图标815、信头820、主内容725和下拉UI元素830。图标815、信头820和主内容825类似于上面参考图5A所描述的图标520、信头520和主内容525,并且为了简洁起见将不进一步描述。在一些实施例中,在交互式通知元素横幅810上接收到轻击输入或者其他接触启动相关联的应用程序。为了显示出图8B中所示的选项UI元素,用户在下拉UI元素830上向下轻扫,如箭头835所示。上面参考图5A描述了轻扫输入。
图8B示出了根据一个实施例的图8A的设备801,但是其中交互式通知元素横幅810显示附加的选项用于与相关联的应用程序交互。响应于用户在下拉标签UI元素830上向下轻扫,如箭头835所示,主屏界面在交互式通知元素横幅810上显示出一个或多个选项UI元素。交互式通知元素横幅810现在还包括选项UI元素840和845。选项UI元素840还包括指示与选项UI元素840相关联的图标的文本840A。选项UI元素845还包括指示与选项UI元素845相关联的图标的文本845A。在一些实施例中,因为交互式通知元素横幅被示出为文本消息通知元素,选项UI元素840与回复动作相关联,以允许用户回复文本消息,并且选项UI元素845与删除动作相关联,以允许用户删除文本消息。在该实施例中,文本840A包括字词“回复”并且文本845A包括字词“删除”。在其他实施例中,取决于通知元素类别和语境,不同的选项UI元素840和845被显示,如下面进一步描述的。响应于用户在下拉UI元素830上向上轻扫,如箭头850所示,主屏界面隐藏选项UI元素。
图9A-图9B示出了根据一个实施例的用于情态警示界面上的交互式通知元素的用户界面。情态警示界面包括在设备901的屏幕902的中心附近显示的情态警示905。在一些实施例中,设备901是设备100并且屏幕902是屏幕112。在一些实施例中,情态警示905在前台中显示并且模糊了在后台中显示的任何应用程序或者界面。情态警示905还包括图标910、信头915、主内容920和选项UI元素925和930。图标910、信头915和主内容920类似于上面参考图5A所描述的图标510、信头515和主内容520并且为了简洁起见不进一步描述。和锁屏界面(图5A-5B)不同,通知元素中心界面(图7A-7B)或者主屏界面(图8A-8B)、情态警示界面在不接收来自用户的输入的情况下自动地显示一个或多个选项UI元素。选项UI元素925还包括指示与选项UI元素925相关联的图标的文本925A。关闭UI元素930还包括指示与关闭UI元素930相关联的图标的文本930A。在一些实施例中,选项UI元素925与显示与对应的应用程序相关联的一个或多个附加的选项UI元素相关联,如下面参考图9B所描述的。关闭UI元素930与关闭情态警示905相关联,因此停止在前台显示情态警示905。
图9B示出了图9A的设备901,但是其中响应于用户选择选项UI元素925选项板935在情态警示上方被显示。类似于情态警示905,选项板935包括图标940、信头945和内容950。在一些实施例中,选项板935显示六个总的选项UI元素955、960、965、970、975和980。选项UI元素955是“默认”选项并且在一些实施例中与启动对应的应用程序相关联。选项UI元素960、965、970和975每者与用于对应的应用程序的不同的动作相关联,取决于如下文所述的通知元素类别和语境。选项UI元素980起到与关闭选项UI元素930类似的功能。因为情态警示界面在屏幕902上提供更多的表面区域,所以情态警示905比上述的其他交互式通知元素显示更多数量的选项。尽管在图9B中示出了6个总共的选项UI元素,在其他实施例中情态警示界面可显示更多的或者更少的选项UI元素。
图10是示出了根据一些实施例的用于提供交互式通知元素的方法1000的流程图。首先,检测事件的发生1005。在一些实施例中,事件与应用程序相关联。然后,响应于检测到事件的发生,通知元素在用户界面1010的第一区域中显示。通知元素包括有关事件的信息。在一些实施例中,显示的通知元素类似于图5-9和图11-16中所示的以及上述的通知元素。例如,通知元素可为锁屏通知元素(图5A-5B)、通知元素中心通知元素(图7A-7B)、主屏通知元素(图8A-8B)或者情态警示通知元素(图9A-9B)。
最后,响应于在用户界面的第一区域中检测到一个或多个手势的第一序列,多个动作选项UI元素被显示1015。在一些实施例中,事件是接收到的消息,并且显示的动作选项UI元素包括以下项中的两个或更多个:删除UI元素、标为已读UI元素、标为收藏UI元素、回复UI元素、标为垃圾邮件UI元素和移动至文件夹UI元素。在一些实施例中,一个或多个手势的第一序列包括轻扫手势或者在左边方向的轻扫手势。在一些实施例中,一个或多个手势的第一序列包括在向下方向的轻扫手势(图8A)。
在一些实施例中,通知元素被安排成在被显示预先确定的时间量之后从显示器移除并且方法还包括使得响应于检测到一个或多个输入的第一序列在预先确定的时间量之后通知元素保持在该显示器上。在一些实施例中,对每个动作选项UI元素的选择使得相关联的应用程序执行不同的动作。例如,针对接收到的电子邮件通知元素对“删除”动作选项UI元素的选择使得相关联的电子邮件应用程序删除接收的电子邮件。在一些实施例中,在不于用户界面的第二区域中显示相关联的应用程序的情况下,执行响应于对动作选项UI元素的选择执行的动作。在一些实施例中,如上面参考图6所描述的,使得应用程序执行动作还包括在继续进行执行该动作之前从用户请求认证码。例如,当在设备被锁定时第一动作是被选择待执行的破坏性动作时,在动作被执行之前用户被提示向设备认证其自身(例如,通过输入密码或者提供生物特征识别认证诸如指纹)(图6)。
在一些实施例中,动作选项UI元素中的一些或者全部包括从应用程序接收到的字形。用于接收的电子邮件通知元素的删除动作选项UI元素包括从相关联的电子邮件应用程序接收的“X”图形。在一些实施例中,方法1000还包括响应于检测到一个或多个手势的第一序列显示接收到的消息的预览(图5A)。在一些实施例中,通知元素包括预览,并且响应于检测到一个或多个手势的第一序列扩展的预览被显示。在一些实施例中,方法1000还包括响应于在用户界面的第一区域中检测到一个或多个手势的第二序列,在用户界面的第二区域中显示相关联的应用程序。例如,在一些实施例中针对接收的电子邮件通知元素选择“回复”UI元素使得相关联的电子邮件应用程序在前台打开。在一些实施例中,方法1000还包括响应于检测到对动作选项UI元素的选择显示两个或更多个附加的动作选项UI元素。例如,在情态警示界面(图9A)中选择“选项”UI元素使得6个总共的选项被显示(图9B)。
内联消息回复
在一些实施例中,交互式通知元素向用户指示用户已经接收到消息,诸如文本消息或者音频消息。为了允许用户更加有效地应答该消息,交互式通知元素提供一种用于用户在不在前台打开对应的应用程序的情况下通过文本或者音频内联回复该消息的方法。
图11-16示出了根据一些实施例的用于显示具有内联回复特征结构的交互式通知元素的示例性用户界面。这些附图中的用户界面被用于阐示下面介绍的过程,包括图10、17和19中的过程。在一些实施例中,锁屏界面(图5A-5B)和通知元素中心界面(图7A-7B)不提供内联回复特征结构。相反,对在交互式通知元素中显示的“回复”选项UI元素的选择使得设备显示主屏横幅界面(图8A-8B)或者情态警示界面(图9A-9B)中任一者的修改版本以提供内联回复特征结构。
图11A示出了根据一些实施例的在屏幕1102上显示主屏界面的设备1101。在一些实施例中,设备1101为设备100,并且屏幕1102为屏幕112。类似于图8A,主屏界面包括多个应用程序图标1105和交互式通知元素横幅1110。上面参考图4A进一步描述了应用程序图标1105。图11A中所示的交互式通知元素横幅1110为文本消息通知元素,并且包括与图8A中所示的交互式通知元素横幅810类似的元素。然而,图11A中所示的交互式通知元素横幅1110还包括内联回复特征结构,内联回复特征结构包括文本输入域1130和录音选项UI元素1135。录音选项UI元素1135包括具有麦克风图形的圆形的轮廓。在一些实施例中,当被选择时,文本输入域1130通过键盘从用户接收文本输入。在一些实施例中,当被选择时,录音选项UI元素1135使得设备1101从用户接收音频输入。响应于用户选择录音选项UI元素1135,文本输入域1130和录音选项UI元素1135被暂停选项UI元素和波形元素替代,指示用户现在可以记录音频消息。响应于用户选择暂停选项元素,设备停止记录音频消息。在一些实施例中,响应于对应的应用程序提供内联回复选项内联回复特征结构被显示在交互式横幅通知元素中。在一些实施例中,针对不授权回复的一些通知元素诸如日历事件提醒内联回复特征结构不被显示。
图11B示出了根据一些实施例的响应于用户在文本输入域1130中输入文本显示主屏界面的图11A的设备801。响应于用户选择文本输入域1105,录音选项UI元素1135被发送选项UI元素1145替代并且键盘UI元素1150被显示。键盘UI元素1150允许用户输入文本1140,文本1140可在文本输入域1130中被显示。当用户完成键入回复消息时,用户选择发送选项UI元素1145。响应于用户选择发送选项UI元素1145,交互式横幅通知元素1110向上滑动并从屏幕1102消失,并且键盘UI元素1150向下滑动并从屏幕112消失。图11A-11B中所示的用户界面允许用户在不在前台模式中打开相关联的应用程序的情况下回复接收到的消息。
图12A示出了根据一些实施例的在屏幕1202上显示情态警示界面的设备1201。在一些实施例中,设备1201是设备100,并且屏幕1202是屏幕112。类似于图9A,情态警示界面包括情态警示1205。情态警示1205类似于上面参考图9A所述的情态警示905并包括图标1210、信头1215、主内容1220和选项UI元素1225以及1230。然而图12A中所示的情态警示1205还包括文本输入域1235和录音选项UI元素1240。文本输入域1235和录音选项UI元素1240起到参考图11A所述的文本输入域1130和录音选项UI元素1135类似的功能。
图12B示出了根据一些实施例的响应于用户选择文本输入域1235显示情态警示界面的图12A的设备1201。响应于用户选择文本输入域1235,录音选项UI元素1240被发送选项UI元素1250替代并且键盘UI元素1255在屏幕112的底部被显示。键盘UI元素允许用户输入文本1245,文本1245在文本输入域1235中被显示。当用户完成键入回复消息时,用户选择发送选项UI元素1250。响应于用户选择发送选项UI元素1250,情态警示交互式通知元素1205从屏幕1202消失,并且键盘UI元素1150向下滑动并且从屏幕1202消失。重新参见图12A,响应于用户选择录音选项UI元素1240,设备1201从用户接收音频输入,诸如讲出的对接收的消息的回复。响应于从用户接收音频输入,音频输入被提供用于传输以回复接收到的消息。
音频消息
在一些实施例中,交互式通知元素向用户指示用户已经接收到音频消息,诸如语音消息。为了允许用户更加有效地收听并回复消息,交互式通知元素提供一种用于用户在不在前台打开对应的应用程序的情况下收听并记录新的消息。
图13-16示出了根据一些实施例的用于显示具有内联回复特征结构的交互式通知元素的示例性用户界面。这些附图中的用户界面被用于阐示下面介绍的过程,包括图10、17和19中的过程。
图13示出了根据一些实施例的如上面参考图5A所述的在屏幕1302上显示锁屏界面的设备1301。在一些实施例中,设备1301为设备100,并且屏幕1302为屏幕112。锁屏界面包括交互式通知元素1305,交互式通知元素1305还包括图标1310、信头1315和主内容1320。图13中所示的交互式通知元素1305向设备1301的用户通知音频消息已经被接收。在一些实施例中,主内容1320包括文本注释“音频消息。举起以收听。”响应于用户举起设备1301到他的耳朵,设备1301开始播放音频消息。图14示出了如上面参考图7A所述的在屏幕1402上显示通知元素中心界面的设备1401。在一些实施例中,设备1401是设备100,并且屏幕1402是屏幕112。通知元素中心界面包括交互式通知元素1405,还包括图标1410、信头1415和通知元素内容1420,类似于上面参考图13所描述的锁屏界面。对于图13中所示的界面,响应于用户举起设备1401到他的耳朵,设备1401开始播放音频消息。在一些实施例中,响应于用户举起设备1401以收听音频消息默认情况下音频消息通过设备1401的听筒被播放。
图15A示出了正在屏幕1502上播放主屏界面的设备1501,如上面参考图8A所描述的。在一些实施例中,设备1501是设备100,并且屏幕1502是屏幕112。主屏界面包括交互式通知元素横幅1505,交互式通知元素横幅1505还包括图标1510、信头1515、主内容1520、时间指示器1525、播放选项UI元素1530和下拉UI元素1535。图15A中所示的交互式通知元素横幅1505向用户指示音频消息已经被接收。主内容1515包括文本注释“音频消息”。时间指示器1525向用户显示接收的音频消息的长度。播放选项UI元素1530包括具有三角形播放符号的圆形按钮。响应于用户选择播放选项UI元素1530,设备1501播放音频消息。在一些实施例中,响应于用户举起选择播放选项UI元素1530以收听音频消息默认情况下音频消息通过设备1501的扬声器被播放。响应于用户选择播放选项UI元素1530,时间指示器1525显示自从音频消息开始播放以来流逝的时间,如图15B中所示。另外,播放选项UI元素1530变成在圆形按钮中显示暂停图形,并且进度条周向围绕播放选项UI元素1530被显示。进度条1545的长度与时间指示器1525指示的流逝的时间成比例地增长。响应于在暂停图形被显示时用户选择播放选项UI元素1530,音频消息停止播放。为了播放图15C中所示的内联回复用户界面,用户如箭头1540所示在下拉UI元素1535上向下轻扫。
图15C示出了根据一些实施例的响应于用户在下拉UI元素830上向下轻扫正在显示图15A的用户界面的设备1501。在一些实施例中,设备1501在下拉UI元素1535上向下轻扫以便回复音频消息,如箭头1540所示。响应于用户在下拉UI元素1535上向下轻扫,交互式通知元素横幅朝下延伸以显示文本输入域1550和录音选项UI元素1555。文本输入域1550和录音选项UI元素1555上面参考图11A和图11B被进一步描述。图15D示出了根据一些实施例响应于用户选择录音选项UI元素1555图15A的设备1501。响应于用户选择录音选项UI元素1555,文本输入域1550和录音选项UI元素1555被暂停选项UI元素1560和波形元素1565替代,以指示用户现在可以记录音频消息。响应于用户选择暂停选项UI元素1560,设备停止记录音频消息。
图16示出了根据一些实施例的正在屏幕1602上显示情态警示界面的设备1601,如上面参考图9A所述的。在一些实施例中,设备1601是设备100,并且屏幕1602是屏幕112。情态警示1605包括图标1610、信头1615、选项UI元素1620、关闭UI元素1625和内容1630,类似于上面参考图9A所述的元素。在一些实施例中,如果情态警示1605是用于接收的音频消息的通知元素,情态警示1605还将包括播放选项UI元素1635和波形图形1640以向用户指示接收的消息是音频消息。响应于用户选择播放选项UI元素1635,音频消息开始播放,并且播放选项UI元素显示暂停图形,如上面参考图15A和图15B所描述的。
图17是示出了根据一些实施例的用于提供具有内联回复特征结构的交互式通知元素的方法1700。首先,接收消息1705。例如,接收文本消息。然后,在用户界面1710的第一区域中显示第一通知元素,第一通知元素包括有关接收到的第一消息的信息。例如,通知元素可为锁屏通知元素(图5A-5B),通知元素中心通知元素(图7A-7B),主屏通知元素(图8A-8B),或者情态警示通知元素(图9A-9B)。
当正在显示第一通知元素时,第一UI元素被显示用于发起对第一消息的回复1715。在一些实施例中,用户生成的回复包括基于文本的消息。例如,用户生成的回复为电子邮件消息。在一些实施例中,第一UI元素为文本输入域(图11A,文本输入域1130)。在一些实施例中,显示第一UI元素包括:在用户界面的第一区域中接收一个或多个手势的序列;并且响应于接收到一个或多个手势的序列,在用户界面的第二区域中显示第一UI元素。在一些实施例中,用户生成的回复包括音频消息。例如,用户可通过讲出的音频消息回复接收的文本消息。在一些实施例中,如果接收到的消息是音频消息,方法1700还包括在显示第一通知元素时,响应于检测到电子设备的举起运动,播放音频消息。在一些实施例中,在不于用户界面的第二区域中显示应用程序的情况下接收用于用户生成的回复的信息。然后,响应于接收到对第一UI元素的选择,接收与用户生成的对第一消息的回复对应的信息1720。
最后,响应于接收到发送输入,用户生成的回复被提供用于传输1725。在一些实施例中,接收发送输入包括接收对第二UI元素的选择。例如,第二UI元素为“发送”UI元素(图11B,发送UI元素1145)。在一些实施例中,接收发送输入包括检测电子设备的下降运动。在一些实施例中,方法1700还包括响应于提供用户生成的回复用于传输,停止在用户界面的第一区域中显示第一通知元素。例如,如上面参考图11B所述,第一通知元素在用户选择“发送”UI元素之后从设备的屏幕消息。在一些实施例中,方法1700还包括:在显示第一通知元素时,接收第二消息;将第二消息插入到通知元素队列中;并且响应于提供用户生成的回复用于传输:从通知元素队列检索第二消息,并且在用户界面的第一区域中显示第二通知元素,通知元素包括有关接收到的第二消息的信息。例如,在用于第一文本消息的通知元素被显示时,第二文本消息被接收。用于第二文本消息的通知元素不被显示直至用户回复第一文本消息。在一些实施例中,指示第二消息被接收的指示被显示。在一些实施例中,方法1700还包括:在显示第一通知元素时,接收第二消息;确定第二消息与第一消息相关联;并且在用户界面的第一区域中显示第二通知元素,通知元素包括有关接收到的第二消息的信息。例如,在用于第一文本消息的通知元素被显示时,与第一文本消息相关联的第二文本消息被接收(例如,来自相同的发送者)。然后,用于第二文本消息的通知元素替代用于第一文本消息的通知元素。在一些实施例中,显示第二通知元素包括保持已经被接收的用于用户生成的回复的信息。例如,如果用户已经开始键入对第一接收的文本消息的回复,当第二文本消息通知元素被显示时键入的回复被保存。
在一些实施例中,方法1700还包括响应于在与对第一通知元素的选择对应的输入上的轻击输入(例如,在通知元素上的轻击输入),在用户界面的第二区域中显示相关联的应用程序。在一些实施例中,在用户界面的第二区域中显示全部的相关联的应用程序包括保持已经被接收的用于用户生成的回复的信息。例如,如果用户已经开始键入对接收的文本消息的回复,当全部文本消息应用程序在前台被打开时键入的回复被保存。在一些实施例中,第一UI元素包括文本输入域和用于发起对音频的记录的音频输入按钮,并且方法1700还包括响应于接收到对第一UI元素的选择:根据确定该选择包括对文本输入域的选择,在显示器上显示软键盘并用用于发送文本消息的发送按钮替代音频输入按钮;并且根据确定该选择包括对音频输入按钮的选择,发起对音频的记录并用正被记录的音频的表示(例如,表示音频正被记录的波形的图形表示)替代文本输入域。
在一些实施例中,方法1700还包括:在显示用于第一消息的第一通知元素时,接收第二消息;响应于接收到第二消息,根据确定第二消息不与第一消息相关联,显示用于第二消息的第二通知元素直到第一通知元素已经被去除。在一些实施例中,方法1700还包括在显示第二通知元素时,检测对去除第一通知元素(例如,对第二消息选项的选择)的请求;并且响应于检测到对去除第一通知元素的请求,停止显示第一通知元素;并且在停止显示第一通知元素之后,显示第二通知元素。在一些实施例中,方法1700还包括响应于接收到第二消息,根据确定第二消息与第二消息相关联,更新第一通知元素以指示第二消息已经被接收。在一些实施例中,更新第一通知元素包括显示另一相关的消息已经被接收的指示。在一些实施例中,更新第一通知元素包括显示已经接收的相关的消息的数量的指示。在一些实施例中,更新第一通知元素包括在第一通知元素中显示第二消息的内容的部分。
通知元素类别和语境
在一些实施例中,与交互式通知元素一起显示的动作选项根据通知元素类别、通知元素语境或者二者的组合变化。通知元素类别是用于与定义的动作组对应的特定应用程序的通知元素的类型。在一些实施例中,应用程序定义通知元素类别并且将动作映射到每个通知元素类别。例如,在一些实施例中,电子邮件应用程序定义“接收的电子邮件”类别。在一些实施例中,电子邮件应用程序将读取动作、回复动作、标为未读动作以及删除动作映射到“接收的电子邮件”通知元素类别。因此,当交互式通知元素被显示以警示用户新的电子邮件消息已经被接收时,读取选项、回复选项、标为未读选项以及删除选项与交互式通知元素一起被显示。又如,在一些实施例中社交网络应用定义若干通知元素类别,包括“接收的消息”、“照片标记”、“朋友请求”以及“海报”类别。在一些实施例中,社交网络应用将接受动作、拒绝动作和忽略动作映射到“朋友请求”通知元素类别。因此,当交互式通知元素被显示以警示用户新的朋友请求时,接受选项、拒绝选项和忽略选项与交互式通知元素一起被显示。然而,用户对“海报”作出不同的响应(例如,用户将不接受或者拒绝贴在其墙上的东西)。因此,在一些实施例中,社交网络应用将不同的动作组映射到“海报”通知元素类别。因此,与交互式通知元素一起显示的动作基于通知元素类别变化。
通知元素语境是其中交互式通知元素被显示的语境。在一些实施例中,通知元素语境与当前正在设备100上显示的特定用户界面对应。例如,在一些实施例中,通知元素语境从由锁屏界面、通知元素中心界面、主屏界面、情态警示界面和网络观测器构成的组被选择。下面参考图18B进一步描述网络观测器。在一些实施例中,应用程序将通知元素类别动作的子组映射到每个通知元素语境。在一些实施例中,被映射到每个通知元素类别的动作部分地基于设备100的屏幕上的可用区域被确定。例如,总共四个动作(读取、回复、标为未读和删除)被映射到用于电子邮件应用程序的“接收的电子邮件”通知元素类别。然而,在锁屏语境中,在设备100的显示器112上仅存在足够的区域来显示两个动作选项。因此,应用程序将回复和删除动作映射到锁屏语境。因此,在一些实施例中,在锁屏界面上被显示的“接收的电子邮件”通知元素显示回复选项和删除选项。在一些实施例中,锁屏语境被看作是“小型”语境,通知元素中心语境和主屏语境也是如此。另一方面,在情态警示语境中,在设备100的显示器112上存在足够的区域来显示全部四个动作选项。因此,应用程序将读取动作、回复动作、标为未读动作和删除动作映射到情态警示语境。因此,在一些实施例中,在情态警示界面上显示的“接收的电子邮件”通知元素显示全部四个选项。在一些实施例中,情态警示语境被认为是“默认”语境。
另外,在一些实施例中,每个动作要么是前台动作要么是后台动作。在一些实施例中,应用程序定义每个动作是前台动作还是后台动作。前台动作是需要应用程序在前台在设备100上打开的动作。例如,在一些实施例中,电子邮件应用程序定义用于“接收的电子邮件”通知元素的回复动作是前台动作。因此,响应于用户选择在交互式通知元素中显示的回复选项,电子邮件应用程序在前台打开以使得用户能够回复该电子邮件。另一方面,在一些实施例中,电子邮件应用程序定义用于“接收的电子邮件”通知元素的删除动作为后台动作。因此,响应于用户选择在交互式通知元素中显示的回复选项,电子邮件应用程序在后台运行并且响应于用户选择删除选项在不在设备的屏幕上显示应用程序的情况下删除电子邮件。在一些实施例中,后台动作被给予时间限制来完成对应的动作。在一些实施例中,如果时间限制被超出并且动作还没被完成,动作或相关联的应用程序被终止。这起到保存设备100的处理电力的作用并且还起到保存电池寿命的作用。
通知元素系统框图
图18A示出了根据一些实施例的通知元素系统的框图。通知元素系统1800包括第三方服务器1805、推送服务服务器1810、操作系统126、第三方应用程序1820和设备显示器1825。第三方服务器1805与安装在设备诸如设备100上的第三方应用程序1820相关联。在一些实施例中,操作系统1815诸如操作系统126也被安装并且在相同的设备100上运行。
在一些实施例中,第三方服务器1805存储并处理第三方应用程序1820所需要的信息。例如,针对上述的电子邮件应用程序,对应的第三方服务器1805存储涉及被发送和被接收的电子邮件的信息,如本领域所熟知的。响应于事件的发生,诸如新的电子邮件被接收,第三方服务器1805发送通知元素消息到推送服务服务器1810。在一些实施例中,通知元素消息包括设备令牌和有效载荷。在一些实施例中,设备令牌包含使得推送服务服务器1810能够定位对应的第三方应用程序1820被安装的设备的信息。在一些实施例中,有效载荷指定在通知元素中被显示给用户的信息,以及通知元素将如何向用户显示。尽管图18A中示出了仅一个第三方服务器,在其他实施例中通知元素系统1800包括两个或者更多个第三方服务器1805。
在一些实施例中,推送服务服务器1810是从一个或多个第三方服务器1805接收通知元素,并且基于通知元素内包含的信息,将通知元素传输到设备100的操作系统1815的服务器。在一些实施例中,推送服务服务器1810使用来自第三方服务器1805的通知元素中包含的令牌来识别将接收的通知元素发送到哪个设备。然后,推送服务服务器1810将通知元素包括有效载荷传输到所识别的设备的操作系统1815。尽管图18A中仅示出了一个推送服务服务器1810,但是在其他实施例中,通知元素系统1800包括两个或者更多个推送服务服务器1810。
操作系统1815被安装在设备诸如设备100上并且在其上运行。上面参考图1进一步描述了操作系统1815。在一些实施例中,操作系统1815从推送服务服务器1810接收通知元素。操作系统1815然后利用通知元素中包含的信息在设备显示器1825上显示通知元素。在一些实施例中,设备显示器1825是设备100的屏幕112。
在一些实施例中,在设备诸如设备100上工作的应用程序发送注册消息到设备100的操作系统1815。在一些实施例中,与应用程序相关联的服务器,例如第三方服务器1805,发送注册消息。每个注册消息包括通知元素类别和针对一个或多个通知元素语境与通知元素类别相关联的一个或多个动作的映射。此外,在一些实施例中,注册包括将每个动作映射到前台模式或者后台模式。在下面的表中示出了包含在用于电子邮件应用程序的注册消息中的信息的实施例。
在一些实施例中,操作系统1815存储通知元素类别、通知元素语境和动作的该映射(映射信息),并且当通知元素被接收时检索该映射信息。因此,第三方服务器1805优选地不必在其发送到推送服务服务器1810的每个通知元素中包括该映射信息。第三方服务器1805不必在其发送的每个通知元素中包括映射信息因为操作系统1815已经具有该映射信息。当操作系统1815从第三方服务器1805(通过推送服务服务器1810)接收通知元素时,操作系统1815可将接收的通知元素映射到被映射到通知元素类别的该映射信息。例如,如果操作系统1815接收到“接收的电子邮件”通知元素,操作系统1815检索被映射到“接收的电子邮件”类别的信息,诸如上面的表中所示的信息。在一些实施例中,操作系统1815不从应用程序接收注册消息。相反,第三方服务器1805在其发送到推送服务服务器1810的每个通知元素中包括映射信息。
图18B示出根据一些实施例的通知元素系统的第二框图。图18B中所示的通知元素系统1800类似于上面参考18A所述的通知元素系统1800。通知元素系统1800包括第三方服务器1805、推送服务器1810、操作系统1815和第三方应用程序1820,如上所述。然而,代替图18A中所示的设备显示器1825,通知元素系统1800包括电子布告栏服务器1830,电子布告栏服务器1830可通信地连接到锁屏观测器1835、通知元素中心观测器1840、主屏观测器1845、情态警示观测器1850和网络观测器1855。图18B还示出了外部系统1856的框图,外部系统1856包括接收器1860、外部电子布告栏服务器1865和外部显示器1870。
电子布告栏服务器1830从操作系统1815接收通知元素,类似于设备显示器1825。在一些实施例中,通知元素被称为“电子布告”。在一些实施例中,每个电子布告包括一个或多个动作,并且每个动作与唯一标识符、名称和动作命令相关联。唯一标识符被用于识别相关联的动作,并且在一些实施例中是唯一的一系列数字或者字符。名称是在用户界面中与对应于动作的动作选项UI元素一起显示的一串文本。动作命令是被发送到第三方应用程序1820使得第三方应用程序1820执行该动作的实际命令或者消息。电子布告栏服务器1830将电子布告传输到一个或多个观测器。
锁屏观测器1835、通知元素中心观测器1840、主屏观测器1845和情态警示观测器1850从电子布告栏服务器1830接收电子布告。在一些实施例中,观测器与上述的通知元素语境相关联。例如,锁屏观测器1835与锁屏语境相关联,并且如果设备100当前正在显示锁屏界面,锁屏观测器1835从电子布告栏服务器接收电子布告并且显示合适的通知元素。在一些实施例中,观测器1835、1840、1845和1850相当于上述的对应的通知元素语境,并且因此将不被进一步详细地描述。
在一些实施例中,网络观测器1855是附加的通知元素语境。网络观测器1855从电子布告栏服务器1830接收电子布告。然而,代替在设备100的显示器112上通知元素,网络观测器1855将电子布告传输到外部系统1856。在一些实施例中,外部系统1856是汽车显示系统。在其他实施例中,外部系统是与设备100类似的任何其他外部显示器或者另一个设备。在一些实施例中,网络观测器在将电子布告传输到外部系统之前对其进行修改。例如,网络观测器将动作命令从电子布告中的每个动作移除,使得所传输的电子布告的每个动作仅包含唯一标识符和名称。这有利地允许网络观测器1855传输较小量的数据,这增加了传输时间并节省了电力。
外部系统1856的接收器1860接收由网络观测器1855传输的电子布告。在一些实施例中,外部系统1856包括外部电子布告栏服务器1865,外部电子布告栏服务器1865起到与通知元素系统1800的电子布告栏服务器1830类似的功能。外部电子布告栏服务器1865从接收器1860接收电子布告并且将该电子布告引导到一个或多个位置用于显示。在一些实施例中,外部电子布告栏服务器1865将电子布告传输到外部显示器1870用于显示。例如,在一些实施例中,如果外部系统1865是启程显示系统,则外部显示器1870是汽车娱乐系统的中心面板屏幕。
在一些实施例中,基于与电子布告中的每个动作相关联唯一标识符和名称,外部显示器1870在外部显示器1870上显示通知元素和一个或多个动作。用户可看见通知元素中显示的名称,并且可作出选择以执行所显示的动作中的一个动作。在一些实施例中,在外部显示器1870上的通知元素和动作类似于上述的通知元素语境,诸如情态警示语境、主屏语境、锁屏语境或者通知元素中心语境。响应于用户选择动作,外部显示器1870将与该动作相关联的唯一标识符传输回到操作系统1815。在一些实施例中,唯一标识符通过外部电子布告栏服务器1865、接收器1860和网络观测器1855被传输回到操作系统1815。响应于从外部显示器1870接收到唯一标识符,操作系统1815确定与该唯一标识符相关联的动作并使得应用程序执行该相关联的动作。在一些实施例中,仅传输该唯一标识符而不是整个电子布告有利地允许较小量的数据被传输,增加了传输时间并增加了电池寿命。在一些实施例中,仅传输唯一标识符有利地允许设备100执行必要的处理功能用于执行动作,并且仅需要外部系统1856接收通知元素、显示通知元素和动作选项并且传输所选择的动作的ID。外部系统1856不需要执行所选择的动作。
图19是示出根据一些实施例的显示交互式通知元素的方法的流程图。根据一些实施例方法是在具有显示器和触敏表面的电子设备(例如,设备300,图3,或便携式多功能设备100,图1A)上执行的。在一些实施例中,显示器是触摸屏显示器,并且触敏表面是在显示器上。在一些实施例中,显示器与触敏表面是分开的。方法中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,图19中所示的方法提供直观的方式与通知元素交互并且提供命令到应用程序。方法允许用户更加有效地与应用程序交互,从而创建更加有效的人机界面。对于电池驱动的电子设备,使得用户能够更有效地与应用程序进行交互节省了功率并且增加了电池充电之间的时间。
图19是示出根据一些实施例的用于在电子设备上提供交互式通知元素的方法的流程图。首先,注册消息被从第三方应用程序(诸如第三方应用程序1805)接收1905。在一些实施例中,注册消息与用于第三方应用程序的通知元素实例对应。注册消息包括通知元素类别和针对一个或多个通知元素语境被映射到该通知元素类别的一个或多个动作。例如,从电子邮件应用程序接收到的注册消息包括映射到针对锁屏语境的回复动作和删除动作的接收的电子邮件类别。在一些实施例中,来自电子邮件应用程序的相同的注册消息还包括针对情态警示语境被映射到接收的电子邮件类别的回复动作、读取动作、标为未读动作和删除动作。上面更加详细地描述了通知元素语境和类别。在一些实施例中,多个注册消息中的注册消息还包括一个或多个动作中的每个动作到前台状态或者后台状态的映射。
通知元素实例然后被注册1910用于一个或多个应用程序。在一些实施例中,操作系统1815注册或存储动作到每个通知元素类别和语境的接收的映射。这使得应用程序能够仅发送注册消息一次,与每次新的通知元素待被显示就发送新的注册消息相反。通过存储通知元素实例,操作系统1815可确定针对被接收的特定的通知元素类别和语境显示什么动作,如下所述。
指令然后被接收1915以提供通知元素。在一些实施例中,指令包括通知元素类别和通知元素语境。例如,指令被从电子邮件应用程序接收以显示用于接收的电子邮件的通知元素。指令指定接收的电子邮件类别(通知元素类别)和锁屏语境(通知元素语境)。
接着,映射到通知元素类别和语境的动作被识别1920。在一些实施例中,通过交叉引用注册的通知元素实例的数据库识别动作。例如,操作系统1815基于锁屏语境中用于接收到的电子邮件类别的存储的通知元素实例识别用于接收的电子邮件的通知元素应当显示回复动作选项和删除动作选项。
最后,通知元素和识别的动作被提供用于向用户显示1925。在一些实施例中,操作系统1815提供接收的电子邮件通知元素、回复动作选项和删除动作选项以在设备100的显示器112上显示。在一些实施例中,提供通知元素和和识别的一个或多个动作包括:响应于通知元素语境指示锁屏语境,显示锁屏通知元素用户界面;响应于通知元素语境指示通知元素中心语境,显示通知元素中心用户界面;响应于通知元素语境指示主屏语境,显示主屏用户界面;并且响应于通知元素语境指示情态警示语境,显示情态警示用户界面。在一些实施例中,情态警示语境允许显示比锁屏语境、通知元素中心语境和主屏语境更大数量的动作。在一些实施例中,情态警示语境允许最大六个动作用于显示。在一些实施例中,锁屏语境、通知元素中心语境和主屏语境允许最大两个动作用于显示。
在一些实施例中,方法1900还包括在显示通知元素时:响应于接收到指示映射到前台状态的动作的输入,针对与该通知元素相关联的应用程序显示全部应用程序用户界面;并且响应于映射到后台状态,在不针对与该通知元素相关联的应用程序显示全部应用程序用户界面的情况下执行指示的动作。在一些实施例中,方法1900还包括响应于映射到后台状态的动作的执行超过时间限制,停止执行该动作。在一些实施例中,接收的指令包括指示网络语境的通知元素语境,并且提供通知元素和与通知元素类别相关联的识别的一个或多个动作用于在通知元素语境中显示包括将通知元素和识别的一个或多个动作传输到网络观测器。在一些实施例中,网络观测器将通知元素和识别的一个或多个动作传输到第三方接收器。在一些实施例中,第三方接收器与汽车娱乐系统相关联。
发明内容
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
以上参考图19所述的操作任选地由图1A-1B中所描绘的组件来实施。例如,图19中所示的操作任选地由图1中所示的操作系统126或者其他各种模块实现。
出于解释的目的,前面的描述是通过参考具体实施例来描述的。然而,上面的示例性的讨论并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施例是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施例。
本文所述的任何步骤、操作或者过程可用一个或多个硬件或者软件模块单独地或者与其他设备组合地执行或者实现。在一些实施例中,软件模块用计算机程序产品实现,包括包含计算机程序代码的计算机可读介质,其可由计算机处理器执行用于执行所述的步骤、操作或者过程中的任一者或者全部。
本发明的实施例还可涉及用于执行本文操作的设备。该装置可专门构造用于所需的目的,和/或者可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。此类计算机程序可被存储在有形计算机可读存储介质或者适于存储电子指令的任何类型的介质中,并且耦接到计算机系统总线。此外,在本说明书中涉及的任何计算机系统包括单个的处理器或者可为采用多个处理器设计用于增强的计算能力的架构。
本发明的实施例还可涉及体现在载波中的计算机数据信号,其中计算机数据信号包括计算机程序产品的任何实施例或者本文所述的其他数据组合。计算机数据信号是在有形的介质或者载波上呈现并且被调制或者以其他方式编码在载波中的产品,其是有形的并且根据任意合适的传输方法可被传输。
最后,出于可读性和指导性目的,在原则上选择了本说明书中使用的语言,可以不这样选择以描绘或界定本发明的主题。因此,意图是本发明的范围不受该具体实施方式的限制,而是受基于本申请发布的权利要求的限制。因此,本发明的实施例的公开内容旨在为例示性的,而不是限制本发明的范围,本发明的范围在下面的权利要求书中被提出。