操作地理定位系统的制作方法
【专利摘要】本公开涉及操作地理定位系统。一般地,在一个方面,一种方法包括:在移动设备上接收在移动设备上执行的应用已经进入后台状态的指示;基于从移动设备的定位系统接收的数据确定移动设备已经在一时间间隔期间保持在一地理区域内,该地理区域是由根据所述应用的应用类型确定的半径来定义的;以及禁用移动设备的定位系统的至少一部分。
【专利说明】操作地理定位系统
【技术领域】
[0001]本公开一般地涉及操作地理定位系统。
【背景技术】
[0002]移动设备可包括一个或多个被配置为执行特定于位置的任务的基于位置的应用。配置有诸如全球定位系统(GPS)的全球导航卫星系统(GNSS)的接收器的移动设备,可以使用由GNSS确定的位置作为基于位置的应用的输入。移动设备的GNSS接收器在运行时耗费电力且如果持续运行可能会很快耗尽电池。
【发明内容】
[0003]—般来说,在一个方面,一种方法包括:在移动设备上接收在移动设备上执行的应用已经进入后台状态的指示;基于从移动设备的定位系统接收的数据确定移动设备已经在一时间间隔期间保持在一地理区域内,该地理区域是由根据所述应用的应用类型确定的半径来定义的;以及禁用移动设备的定位系统的至少一部分。实施方式可以包括对应的系统和计算机程序产品。
[0004]该方面的实施方式可以包括一个或多个以下特征。该方面可以包括:从在移动设备上执行的所述应用接收应用类型,以及基于接收的应用类型确定定义所述地理区域的半径。该方面可以包括:确定在移动设备上执行的所述应用没有被指定适用于确定定义所述地理区域的半径的应用类型,以及基于从移动设备的定位系统接收的第二数据确定在移动设备上执行的所述应用的应用类型。从移动设备的定位系统接收的第二数据可以包括指示移动设备的加速度的数据。从移动设备的定位系统接收的第二数据可以包括指示移动设备的速度的数据。该方面可以包括:基于从移动设备的定位系统接收的数据确定移动设备已经离开第二地理区域,该第二地理区域是由根据所述应用的应用类型确定的第二半径来定义的;以及启用移动设备的定位系统的所述部分。该方面可以包括:在移动设备上接收在移动设备上执行的所述应用已经进入前台状态的指示,以及启用移动设备的定位系统的所述部分。移动设备可以是无线移动设备。该方面可以包括:基于从定位系统接收的数据的缺失,确定移动设备处于不同于和在移动设备上执行的所述应用相关联的位置类型的一类位置,以及禁用移动设备的定位系统的至少一部分。禁用移动设备的定位系统的至少一部分可以包括基于指示移动设备移动模式的数据来确定移动设备的用户的活动。移动设备的定位系统可以包括加速度计,从该加速度计接收的数据可以指示设备已在所述时间间隔期间保持静止。
[0005]特定的实施例至少提供以下优势。当移动设备没有正在移动时,移动设备可通过关闭GNSS接收器电源以节约电池电力。
[0006]在下面的附图和说明书中详细描述一个或更多实施例的细节。从说明书、附图以及权利要求中,其他特征、方面以及潜在优势将是显而易见的。【专利附图】
【附图说明】
[0007]图1是移动设备和相关组件的框图;
[0008]图2描述了显示位置应用的示例性用户界面;
[0009]图3是移动设备的移动边界的图解;
[0010]图4是可基于应用类型而选择的移动设备的移动边界的图解;
[0011]图5是操作地理定位系统的示例性处理的流程图;
[0012]图6是实施图1-5的特征和处理的示例性系统架构的框图;
[0013]不同附图中的相同参考符号指示相同元件。
【具体实施方式】
[0014]一些移动设备,诸如智能电话,能够运行使用诸如全球卫星导航系统(GNSS)接收器的定位系统的应用。GNSS接收器的一个示例是使用全球定位系统(GPS)技术的接收器。使用GNSS功能的位置应用可以向智能电话的使用者指示信息,诸如他在哪,他去过哪,他行进的方向,他行进得有多快,以及其他位置信息。一些智能电话允许用户将应用放置在后台状态,以使得该应用继续运行但是对用户不可见,除非用户将该应用带回到前台。当处于后台状态时,位置应用能够继续使用GNSS接收器来收集数据。
[0015]该GNSS接收器在运行时,使用该智能电话可用的电池电力的一部分。因此,当位置应用处于后台状态且如果该GNSS接收器没有正在收集指示智能电话位置的任何新数据时,通过禁用该GNSS接收器,智能电话能够节省电池电力。举例来说,如果智能电话在一时间段期间没有移动显著的距离,GNSS很可能被禁用,因为通过该GNSS接收器收集的数据没有明显改变。智能电话能够基于位置应用或使用GPS接收器的应用的类型来做出关于何时禁用GNSS接收器的决定。
[0016]图1不出了运行位置感知应用的移动设备100 (例如无线移动设备)的例。该移动设备具有允许诸如移动设备100的人类操作者的用户115与在移动设备上执行的应用交互的用户界面110。应用是程序代码的集合,该程序代码由移动设备100的计算机系统组件(例如,处理器或处理器集合)执行。应用可以存储在移动设备100的数据存储装置中,例如,固态存储器、闪存或其他类型的数据存储装置。当执行应用时(例如在移动设备100从用户115处接收了执行特定的应用的指示后),应用的程序代码在移动设备上执行。具有在移动设备100上执行的程序代码的应用可以称作是在移动设备100上运行。
[0017]一些应用是位置应用。位置应用是使用关于移动设备100的位置的信息的应用。关于移动设备100的位置的信息可以一次收集或者可以在一段时间内收集。位置应用的一个示例是汽车导航应用130。汽车导航应用130能够在用户界面110上显示导航数据。例如,导航数据可以指示移动设备100的当前位置(并且因此指示包含该移动设备的汽车的当前位置),或者导航数据可以指示从源位置到目的位置的路径,诸如通过的街道和高速路,或者导航数据能够基于移动设备100的当前位置指示其他的信息。位置应用的另一个示例是个人健身应用140。个人健身应用140能够在用户界面110上显示用户(诸如用户115)可以在个人健身活动中使用的信息。例如,假设用户在沿着跑步路径跑步,个人健身应用140能够指示诸如用户当前位置、当前跑步速度、或者其他基于移动设备100随时间的位置而确定的其他信息之类的数据。在一些示例中,个人健身应用140记录数据,诸如关于用户在一个活动或多个活动中(诸如多个跑步区段期间)的平均跑步速度的数据。
[0018]位置应用使用的位置信息可以从GNSS接收器120接收。该GNSS接收器120确定移动设备100的物理位置,例如,通过经度和纬度来表示。在一些示例中,GNSS接收器120通过接收来自地球轨道上的卫星的数据并且基于接收的数据计算位置来确定移动设备100的物理位置。在使用中,GNSS接收器120从移动设备100的电源150中汲取电力。例如,电源150可以是诸如锂离子电池的电池。
[0019]用户界面110可以是用来实施各种特征、处理或工作流的一个或多个图形用户界面(UI)的示例。这些⑶I能够呈现在多种电子设备上,包括但不局限于膝上型计算机、桌面计算机、计算机终端、电视系统、平板计算机、电子书阅读器以及智能电话。一个或多个这些电子设备可以包含有触摸敏感表面。该触摸敏感表面能够处理多个同时的输入点,包括处理关于每个输入点的压力、程度或位置的数据。该处理能够便于使用多个手指的手势,包括收拢和扫动。
[0020]当本发明提到“选择”或“调用”⑶I中的用户界面元件时,这些术语被理解为包括使用鼠标或其他输入设备在用户界面元件上点击或“悬停”,或者使用一个或多个手指或手写笔在用户界面元件上触摸、敲击或做手势。用户界面元件可以是虚拟的按钮、菜单、选择器、开关、滑块、清除器、旋钮、缩略图、链接、图标、放射状按钮、复选框以及任何其他用来从用户接收输入或给用户提供反馈的机制。
[0021]图2是移动设备100的示例性用户界面210。用户界面210可以是图1所示的用户界面110的一个示例。移动设备100可包括触摸敏感显示设备220,移动设备100的用户能够通过该触摸敏感显示设备220与用户界面210交互。
[0022]用户界面210可以包括运行在移动设备100上的位置应用200的用户界面元件。位置应用200可以是图1所示的位置应用130、140中的一个的示例。在一些例子中,用户界面210显示数据,诸如描述移动设备位置的数据(例如可以用来导航的数据)、基于移动设备位置选择的数据(例如描述附近兴趣点的数据)、或者其他位置与之相关的数据种类。
[0023]在一些实施例中,位置应用200被指定了应用类型202。该应用类型202描述位置应用200的预期用途。例如,如果位置应用200预期用在汽车导航中,应用类型202可以将该位置应用200标识为汽车导航应用。如果位置应用200预期用于个人健身,应用类型202可以将该位置应用200标识为个人健身应用。该应用类型202可以包含在位置应用200的程序代码中,可以包含在与位置应用200相关联的元数据中(例如存储在移动设备100的数据存储装置中的元数据),或者应用类型202可以通过其他技术来指示。
[0024]在图2所示的例子中,位置应用200在触摸敏感显示设备220上显示地理区域的地图240。位置应用200可以基于从图1所示的GNSS接收器120接收的信息来显示地图240。在一些示例中,位置应用200显示表示移动设备100的物理位置周围的地理区域的地图240。例如,如果移动设备的用户调用当前位置对象256 (例如,如果用户在触摸敏感显示设备200上按压当前位置对象256的位置),位置应用200能够从GNSS接收器120获取移动设备100的地理位置。位置应用200还获取描述当前地理位置周围的地理区域的地图数据(例如从移动设备100的数据存储装置,从使用诸如因特网的网络可访问的地理数据服务器,或者从另一个地理数据源)。一旦已经获得了移动设备100的地理位置且已经获取了地图数据,位置应用200可以显示移动设备100的当前地理位置的地图240。在一些实现中,位置应用200显示移动设备100的位置的指示。例如,位置应用200可以显示指示移动设备100的位置的精确定位的标记。
[0025]在一些实现中,位置应用200可以进入后台状态。当应用处于后台状态时,应用正在移动设备100上运行但是可以不显示用户界面元件或者显示相比当应用不处于后台状态时通常显示的要更少的用户界面元件。当应用不处于后台状态时,可以说应用运行在前台状态。举例来说,当位置应用200处于前台状态时,位置应用200可以显示地图240,而当其处于后台状态时不显示地图240。在一些实现中,用户可以通过调用用户界面元件来将位置应用200从前台状态切换到后台状态。举例来说,当用户按压移动设备100的home键280时,位置应用200可以从前台状态切换到后台状态。在一些实现中,位置应用200可以在一个不活动时间段之后从前台状态切换到后台状态。举例来说,假设用户在一个时间段后还没有与位置应用的用户界面210交互,该位置应用200可切换到后台状态。在一些示例中,当用户调用了移动设备100的用户界面元件时,位置应用200可以从后台状态返回到前台状态。举例来说,如果用户从以后台状态运行在移动设备100上的应用的列表中选择了位置应用200,位置应用返回到前台状态。
[0026]在一些示例中,当位置应用200处于后台状态时,位置应用200使用从GNSS接收器120接收的定位数据。如果位置应用200是汽车导航应用,位置应用200可以用来给驾驶汽车的用户提供导航路线。举例来说,移动设备100的用户可能已经使用路线对象254输入了从源位置到目的位置的路线。进一步地,位置应用200可以配置为当位置应用200处于后台状态时给用户提供信息。举例来说,位置应用200可以使用移动设备100的音频输出工具,诸如扬声器,来提供口头话语路线指示(例如,“左转”,“出高速路”)。因此,当位置应用200处于后台状态时,位置应用200从GNSS接收器120接收定位数据并且位置应用200不显示地图240或用户界面210的其他元件。相应地,GNSS接收器120可以保持激活,即使当使用GNSS接收器120的应用不处于前台时。
[0027]因为GNSS接收器120从移动设备100汲取电力,当位置应用(诸如位置应用200)不需要从GNSS接收器120接收新数据时,如果禁用GNSS接收器120,则移动设备100可以节省存储的电力。位置应用200不需要从GNSS接收器120接收新数据的一种情形是,位置应用200已经进入了后台状态且移动设备100的用户不再使用其功能的情形。举例来说,如果位置应用200在运行于后台状态时仍然在记录定位数据,或者如果位置应用200正在给移动设备100的用户提供信息(例如口头话语音频),或者如果位置应用200以其它方式仍然正在处理或者产生移动设备100的用户感兴趣的定位数据,则移动设备100的用户可能在使用运彳丁在后台状态的应用200的功能。如果移动设备100已经确定移动设备100的用户可能没使用运行在后台的任何位置应用的功能,则移动设备100可禁用该GNSS接收器120以节省电池电力。
[0028]用来确定移动设备100的用户可能没使用任何位置应用的功能的一个技术是确定移动设备100已经有一段时间没有改变位置。举例来说,如果移动设备100在一段时间内没有改变位置,位置应用将接收与表示移动设备100当前位置的定位数据大致相同的值(例如大致相同的经度和纬度)。如果移动设备100在一段时间内没有改变位置,则移动设备100的用户很可能不再参与涉及位置应用的活动,例如,诸如驾驶汽车或跑步之类的活动。[0029]在使用中,移动设备100即使在用户已经结束和位置应用相关的活动之后,也可能很小地改变位置。举例来说,运行汽车导航应用的移动设备100可能仍然很小地四处移动,例如,如果携带移动电话的用户已经离开他的汽车并且在建筑内部四处走动。因此,表示移动设备100当前位置的定位教据的值(例如大致相同的经度和纬度)可能仍然在改变,即使移动设备100已经有效地停止了移动。
[0030]用来确定移动设备100已经在一段时间内没有改变位置的一个技术是为移动设备100建立移动边界。移动边界是围绕移动设备100的物理区域的表示,其基于移动设备100的当前位置来确定。如果移动设备100在一段时间内保持在移动边界内,移动设备100可被标示为不再移动且移动设备100的GNSS接收器120可以被禁用。如果移动设备100尚开移动边界,移动设备100可被标不为再次移动且移动设备100的GNSS接收器120可以被重新激活。以这样的方式,移动边界可以为移动设备100充当与位置应用相关的活动的阈值。
[0031]图3是移动设备的移动边界310、320的图解。每个移动边界310、320是通过以移动设备100当前位置为原点的半径312、322来定义的。举例来说,该半径可以是物理尺寸,诸如10米、100米或其他值。
[0032]一个移动边界310可以用来确定移动设备100在一段时间内是否没有改变位置。举例来说,移动设备100可以确定在移动设备100上至少一个位置应用运行在后台状态。移动边界310可以在最初确定至少个位直应用正在移动设备100上运彳丁在后台状态之后,以定期的时间间隔建立。举例来说,该时间间隔可以是一分钟,十分钟,或者其他时间段。在每个时间间隔的持续时间内,确定移动设备100的当前位置并且建立移动边界310。如果移动设备100在该时间间隔时段内没有尚开移动边界310,移动设备100可被标不为不再移动并且移动设备100的GNSS接收器120(图1)可被禁用。假设在该时间间隔时段内移动设备100确实离开了移动边界310,则不禁用GNSS接收器120,并且当下一个时间间隔开始时可以建立新的移动边界310。在一些实现中,当位置应用重新进人前台状态时,重新激活GNSS接收器120。
[0033]在一些实现中,移动设备100不建立任何移动边界,直到当移动设备100已经确定没有位置应用正运行在前台状态之后又去了一段时间为止。举例来说,移动设备100可以在位置应用已经进入后台状态后等待一段时间,诸如十或十五分钟,来开始建立移动边界以及确定是否应当禁用GNSS接收器120。
[0034]在一些实现中,可以用第二移动边界320来确定何时重新激活移动设备100。当移动设备100离开第二移动边界320时,移动设备100可以重新激活GNSS接收器120。可以在GNSS接收器被禁用时,建立第二移动边界320。因为GNSS接收器被禁用,可以使用各种技术来确定移动设备100的当前位置。在一些示例中,GNSS接收器120可以在降低功率状态中保持激活。例如,GNSS接收器120可以具有低功率状态,在低功率状态下以低功率方式确定当前位置,例如通过从较少的卫星或其他数据源接收数据,或者计算较低精度的当前位置,或者通过其他技术节省电力。在该示例中,当移动设备100停止移动时,GNSS接收器120进入低功率状态,而不是被去激活。作为另一个示例,移动设备100能够以定期的间隔重新激活GNSS接收器120来确定当前位置,并且比较当前位置和当建立第二移动边界320时移动设备100的位置。如果移动设备100确定移动设备100没有离开由第二移动边界320定义的区域,将再次禁用GNSS接收器120。作为另一个示例,移动设备100可具有能够确定移动设备100的当前位置的其他组件。举例来说,移动设备100可以具有加速度计,其指示描述移动设备100的速度的数据。移动设备可以使用速度数据来计算自禁用GNSS接收器120起移动设备100移动的距离。如果基于加速度计数据计算的移动的距离表明移动设备100已经离开了由第二边界320定义的区域,则可以重新激活GNSS接收器120。在一些实现中,移动设备100具有另外类型的低功率定位系统,其可以在GNSS接收器120被禁用时用来确定移动设备100的当前位置。
[0035]在一些示例中,第二移动边界320具有不同于第一移动边界310的半径312的半径322。举例来说,第二移动边界320的半径322可以大于或者小于第一移动边界310的半径312。在一些示例中,第二移动边界320具有和第一移动边界310相同的半径312。
[0036]移动边界不一定要由半径来定义且不一定具有圆形形状。举例来说,移动边界可以是其他形状,诸如正方形、椭圆形、不规则形状、由诸如街区或建筑之类的地理特征确定的形状,或者移动边界可以具有另一种形状。
[0037]在一些实现中,移动边界可以基于位置应用的定位类型来选择。举例来说,如果单个位置应用正在移动设备上运行在后台状态,可以用位置应用的应用类型来确定要使用的移动边界的半径。
[0038]图4是可以基于应用类型来选择的移动设备的移动边界410、420、430的图解。在某一示例中,基于不同应用类型的不同的最小移动量指示移动设备100是否已经停止移动并且因此基于位置的活动是否已经结束。
[0039]举例来说,如果运行在移动设备100上的位置应用具有指示其是个人健身应用的应用类型,可以预期移动设备100会表现出用户参与跑步或者其他身体运动的移动模式特性。因此,移动边界410可以基于相对小的半径412来选择,例如,一米或五米或十米。如果用户已经停止跑步,用户可能在移动边界410内四处移动以参与短距离活动,诸如坐下、起立或其他通过仅仅几米的移动来定义的活动。相反地,如果运行健身应用的移动设备100在诸如一分钟的时间间隔内移动多于几米,则携带移动设备100的用户很可能仍然在跑步,且GNSS接收器120应该保持激活。
[0040]如果运行在移动设备100上的位置应用具有指示其是汽车导航应用的应用类型,可以预期移动设备100会表现出汽车在交通中驾驶的移动模式特性。因此,移动边界420可以基于相对大的半径422来选择,例如,二十米或者一百米。如果汽车已经到达目的地或者已经以其他方式停止,用来导航的移动设备100仍然可能在由几十米定义的范围内四处移动。举例来说,携带移动设备100的汽车可能在停车场中四处行驶,或者携带移动设备100的用户可能已经离开汽车并且在建筑或者其他有限空间附近走动。相反地,如果运行汽车导航应用的移动设备100在诸如一分钟的时间间隔内移动超过几十米,则移动设备100很可能仍然处于正在行驶的汽车中,且GNSS接收器120应该保持激活。
[0041]在一些示例中,位置应用被指定了位置应用的应用类型。举例来说,位置应用的程序代码可以包含指示应用类型的描述符。位置应用200的应用类型202的示例在图2中示出。
[0042]在一些示例中,在移动设备100上运行在后台状态的位置应用没有被指定应用类型。在一些实现中,可以将位置应用标示为具有默认的应用类型。默认的应用类型可以和由半径432定义的默认的移动边界430 —起使用,该半径432不同于用于具有特定应用类型的位置应用的其他移动边界410、420所使用的半径。可以基于指示与定位数据相关的各种活动(例如诸如走路、跑步、驾驶这样的活动或其他活动)的平均或者典型的移动模式而选择默认的移动边界430。
[0043]在一些实现中,可以为未标示应用类型的位置应用确定应用类型。举例来说,移动设备100可以基于移动设备100表现出的移动模式确定应用类型。
[0044]在一些示例中,移动设备可以确定移动设备100的运动速度并且基于运动速度确定位置应用的应用类型。举例来说,移动设备100可能正在以诸如每小时一到十英里这样的速度运动,这表明移动设备100正由走路或跑步的用户所携带。在该例子中,可以将运行在后台状态的位置应用的应用类型标示为个人健身应用。如另一个例子,移动设备100可能正在以诸如每小时四十到五十英里这样的速度运动,这表明移动设备100正被携带在道路或高速路上运动的汽车中。在该例子中,可以将运行在后台状态的位置应用的应用类型标示为汽车导航应用。运动的速度可以在特定的时刻确定或者确定为一段时间内的平均值。
[0045]在一些示例中,移动设备可以为移动设备100确定加速度数据并且基于该加速度数据来确定位置应用的应用类型。举例来说,移动设备100可以表现出指示正由跑步的用户所携带的加速度模式。举例来说,加速度数据可以指示移动设备100很可能在用户的衣服口袋中蹦跳。在该例子中,可以将运行在后台状态的位置应用的应用类型标示为个人健身应用。
[0046]在一些实现中,可使用其他技术来基于加速度数据确定位置应用的应用类型。举例来说,如果移动设备100具有计步器组件,该计步器可以用来确定携带该移动设备100的用户的走路或跑步状态。举例来说,高且周期性的加速度幅度可以指示用户的跑步状态。作为另一个示例,移动设备100可以基于速度估计和显示车辆行驶振动特性的频域特性而确定移动设备100在汽车中。
[0047]运动速度或者加速度数据可以根据从GNSS接收器120接收的数据,或根据从移动设备100的加速度组件处接收的数据,或者根据从这两个组件或其他组件处接收的数据的
组合来确定。
[0048]图5是操作定位系统的示例性处理500的流程图。举例来说,该处理500可以由图1所示的移动设备100执行。
[0049]可以接收在无线移动设备上执行的应用已经进入到后台状态的指示(502)。举例来说,移动设备100的用户可能已经在用户界面上指示该应用应当进入后台状态。
[0050]在一些示例中,确定一地理区域的半径(504)。可以用该地理区域来确定无线移动设备是否已经保持静止了一段时间。举例来说,在一些实现中,根据已经进入后台状态的应用的应用类型来确定半径。
[0051]应用类型可以指示应用的预期用途。举例来说,应用类型可以指示应用的预期用途是作为汽车导航应用,或者个人健身应用,或者其他类型的应用。在一些实现中,可以从在无线移动设备上执行的应用接收应用类型,并且定义地理区域的半径是基于所接收的应用类型。举例来说,无线移动设备可以存储应用类型和与每个应用类型相关的半径的表格。
[0052]在一些实现中,应用可能未被指定适于确定定义了地理区域的半径的应用类型。移动设备可以基于从无线移动设备的定位系统接收的第二数据来确定在无线移动设备上执行的应用的应用类型。举例来说,第二数据可以是指示了无线移动设备的加速度的数据,或者举例来说,该数据可以是指示了无线手持设备的运动速度的数据,或者该数据可以是其他类型的数据。
[0053]可以确定无线移动设备是否已经在一时间间隔内保持静止(506)。该确定是基于从无线移动设备的定位系统接收的数据。举例来说,定位系统可以是诸如图1所示的GNSS接收器120的GNSS接收器。还可以使用其他组件作为定位系统,诸如加速度计、WiFi收发器、蜂窝网络收发器、或者能够指示无线移动设备的位置或者移动的另一类型的组件。
[0054]在一些实现中,用速度数据来确定无线移动设备是否已经保持静止。举例来说,如果定位系统指示该无线移动设备已经在一段时间内保持在阈值速度以下,则可以将该无线移动设备识别为已经在一段时间内保持静止。阈值速度可以基于应用类型变化,以使得汽车导航应用的阈值速度比个人健身应用的要高。
[0055]在一些实现中,移动设备可以基于GNSS接收器的状态推断移动设备的位置和移动的状态。举例来说,移动设备可以确定该GNSS接收器不能够确定移动设备的定位数据。如果GNSS接收器使用从卫星发送的信号来确定定位数据,如果卫星信号被遮挡,则GNSS接收器可能不能够确定定位数据。如果移动设备在室内位置,则可能不能获得卫星信号,因为从卫星发送的信号可能不能穿透建筑墙体或地板。如果移动设备确定GNSS接收器不能为移动设备确定定位数据,则移动设备能推断出移动设备位于室内。如果移动设备推断出移动设备位于室内,并且举例来说,如果运行在移动设备上的位置应用预期用于室外使用(诸如健身应用或者导航应用),则移动设备可以禁用GNSS接收器120。这样,移动设备可以估计其定位系统的状态以确定移动设备处于不同于与位置应用相关的位置类型的一类位置。移动设备然后可以做出诸如禁用该GNSS接收器的动作。
[0056]在一些实现中,如果GNSS接收器不能为移动设备确定定位数据,则移动设备可以使用另一定位系统来为移动设备确定定位数据。举例来说,如果移动设备具有诸如WiFi收发器的通信网络收发器,移动设备可能能够使用该WiFi收发器来确定定位数据(例如基于WiFi热点的已知位置,或者基于移动设备接收的WiFi信号携带的其他信息)。如果GNSS接收器不能够为移动设备确定定位数据,移动设备可以禁用GNSS接收器且选择使用WiFi收发器来替代。
[0057]在一些实现中,通过确定移动设备已经在一时间间隔内保持在一地理区域之内而做出确定。地理区域可以由根据应用的应用类型确定的半径来定义(例如,操作504)。
[0058]在一些实现中,即使已经确定移动设备已经保持静止,也不禁用移动设备的定位系统。举例来说,移动设备可以基于当前或之前确定的速度估计和表示车辆行驶振动特性的频域特性来确定移动设备处于汽车中。在一些实现中,移动设备可以使用诸如速度估计和频域特性的数据来产生过去或目前环境的状态空间模型。移动设备可以持续地收集该数据来确定当前环境(例如在停止的车辆中)直到不变化,举例来说,直到加速度数据或者其他数据提供了替代状态的指示,诸如走路(因此指示移动设备不再处于车辆中)。在该示例中,移动设备可以位于暂停于停滞交通中的汽车内。可以基于从定位系统或从诸如加速度计的另一组件或从这些组件的组合接收的数据来做出该确定。如果在移动设备的后台运行的位置应用是汽车导航应用且移动设备已经确定移动设备位于运行但是停滞的汽车中(例如基于振动模式),定位系统可以保持启用。这样,可以基于对用户参与特定的活动(诸如驾驶、跑步或者其他涉及运动的活动)的确定而禁用或者保持启用GNSS接收器(或者另一定位系统)。
[0059]在一些实现中,加速度计提供的数据用来确定移动设备是否已在一段时间内保持静止。举例来说,加速度计可以产生指示设备的加速度的数据。加速度数据可以用来确定设备是否处于运动中。在该情况下,不需要咨询GNSS接收器提供的数据。举例来说,如果移动设备在室内,由于GNSS信号的强度是弱的,GNSS接收器提供的数据可能是不可靠的或者不可获得的。
[0060]在一些示例中,当设备静止的时候加速度计会指示加速度数据,例如指示重力的数据。指示诸如重力的已知力的数据可以从加速度计提供的数据中移除,以确定设备相对于本地参考系是否是静止的。本地参考系有时被称作本地水平系。
[0061]可以禁用无线移动设备的定位系统的一部分(508)。在一些实现中,无线移动设备关闭定位系统的电源。在一些实现中,无线移动设备以与当定位系统以运行的满容量或满水平运行时该定位系统汲取的功率水平相比要低的功率水平来保持定位系统的功率。举例来说,无线移动设备可以将定位系统切换到低功率模式。在一些实现中,定位系统包含有GNSS接收器以及另外的一个或多个定位组件。举例来说,无线移动设备可以禁用GNSS接收器而不禁用其他的一个或多个定位组件。
[0062]可以启用无线移动设备的定位系统(510)。在一些实现中,无线移动设备基于从无线移动设备的定位系统接收的数据,确定无线移动设备已经离开了一地理区域。无线移动设备然后基于该确定重新启用定位系统(举例来说,重新启用之前禁用的定位系统的部分)。在一些示例中,所述地理区域是由第二半径定义的第二地理区域。在一些实现中,无线移动设备接收在无线移动设备上执行的应用已经进入前台状态的指示,并且当接收到该指示时重新启用定位系统。在一些实现中,无线移动设备基于从无线移动设备的定位系统接收的数据确定无线移动设备在以高于阈值速度的速度移动。无线移动设备然后基于该确定重新启用定位系统(举例来说,重新启用之前禁用的定位系统的部分)。
[0063]图6是可以实现图1-5的特征和处理的示例性计算设备600的框图。该计算设备600可以包含有存储器接口 602,一个或多个数据处理器、图像处理器和/或中央处理单元604,以及外围接口 606。存储器接口 602、一个或多个处理器604和/或外围接口 606可以是单独的组件或者可以集成在一个或多个集成电路中。计算设备600中的各种组件可以通过一个或多个通信总线或者信号线来耦合。
[0064]可以把传感器、设备以及子系统耦合到外围接口 606来实现多个功能。举例来说,可以把运动传感器610、光传感器612以及接近度传感器614耦合到外围接口 606来实现定向、照明以及接近度的功能。还可以把其他传感器616连接到外围接口 606,诸如全球导航卫星系统(GNSS)(例如GPS接收器)、温度传感器、生物计量传感器、或者其他传感设备,来实现相关的功能。在一些示例中,运动传感器610是加速度计。举例来说,运动传感器610可以检测计算设备600的加速度、计算设备600的运动速度以及指示计算设备600的移动的其他值。
[0065]可以利用照相机子系统620和光学传感器622,例如电荷耦合器件(CXD)或者互补金属氧化物半导体(CMOS)光学传感器,来实现照相机功能,诸如记录相片和视频片段。可以用照相机子系统620和光学传感器622来收集用户的图像以在用户认证中使用,例如,通过执行人脸识别分析。
[0066]可以通过一个或多个无线通信子系统624来实现通信功能,无线通信子系统可以包括射频接收器和发射器和/或光学(例如,红外)接收器和发送器。通信子系统624的具体设计和实现可取决于计算设备600预期要运行于其上的通信网络。举例来说,计算设备600可包括设计为运行在GSM网络、GPRS网络、EDGE网络、W1-Fi网络或WiMax网络和蓝牙网络上的通信子系统624。特别地,无线通信子系统624可以包括宿主(hosting)协议使得设备100可以被配置为其他无线设备的基站。
[0067]可以将音频子系统626耦合到扬声器628和麦克风630来实现语音使能的功能,例如说话者识别、语音复制、数字记录、以及电话功能。音频子系统626可以配置为便于处理语音命令、声纹(voiceprint)以及语音认证。在一些实现中,可以把通过音频子系统626记录的音频发送到外部资源来处理。举例来说,可以把通过语音子系统626记录的语音命令发送到网络资源,诸如对语音命令执行语音识别的网络服务器。
[0068]I/O子系统640可以包括触摸表面控制器642和/或其他输入控制器644。触摸表面控制器642可以I禹合到触摸表面646。触摸表面646和触摸表面控制器642可以例如使用多种触摸敏感技术的任一个来检测接触及其移动或中断,所述多种触摸敏感技术包括但是不限于电容、电阻、红外线和表面声波技术,以及其他接近度传感器阵列或其他用来确定与触摸表面646的一个或多个接触点的元件。
[0069]可以把其他输入控制器644耦合到其他输入/控制设备648,诸如一个或多个按钮、摇臂开关、拇指旋轮、红外端口、USB端口、和/或诸如手写笔的指针设备。一个或多个按钮(未不出)可以包括用于扬声器828和/或麦克风630的音量控制的增大/减小按钮。
[0070]在一个实现中,按压按钮持续第一时间段可以解除触摸表面646的锁定;并且按压按钮持续比第一时间段长的第二时间段可以将计算设备600的电源打开或关闭。按压按钮持续第三时间段可以激活语音控制或者语音命令模块,其使得用户能够说出命令给麦克风630以引起设备来执行说出的命令。用户可以定制一个或多个按钮的功能。举例来说,触摸表面646还可以用于执行虚拟或者软按钮和/或键盘。
[0071]在一些实现中,计算设备600能够呈现记录的音频和/或视频文件,诸如MP3、AAC和MPEG文件。在一些实现中,计算设备600可以包括MP3播放器的功能。同样还可以使用其他输入/输出和控制设备。
[0072]可以将存储器接口 602耦合到存储器650。存储器650可以包括高速随机访问存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪存(例如NAND,N0R)。存储器650可以存储操作系统652,诸如Darwin,RTXC, LINUX,UNIX, OSX, WINDOWS,或者诸如VxWorks的嵌入式操作系统。
[0073]操作系统652可以包括用于处理基本系统服务和执行硬件依赖任务的指令。在一些实现中,操作系统652可以是内核(例如UNIX内核)。在一些实现中,操作系统652可以包括用于执行语音认证的指令。举例来说,操作系统652可以实现安全闭锁和语音认证特征。操作系统652可以实现声纹和语音认证特征。
[0074]存储器650还可以存储通信指令654来实现和一个或多个附加设备、一个或多个计算机和/或一个或多个服务器之间的通信。存储器650可以包括:图形用户界面指令656以实现图形用户界面处理;传感器处理指令658以实现传感器相关的处理和功能;电话指令660以实现电话相关的处理和功能;电子消息指令662以实现电子消息相关的处理和功能;网页浏览指令664以实现网页浏览相关的处理和功能;媒体处理指令666以实现媒体处理相关的处理和功能;GNSS/导航指令668以实现GNSS和导航相关的处理和指令;和/或照相机指令670以实现照相机相关的处理和功能。
[0075]存储器650可以存储其他软件指令672来实现其他处理和功能,诸如安全和/或认证处理和功能。举例来说,软件指令可以包括用来执行基于每个应用或者基于每个特征的语音认证以及允许用户对设备100可用的每个应用或特征配置认证需求的指令。
[0076]存储器650还可以存储其他软件指令(未示出),诸如网页视频指令来实现网页视频相关的处理和功能;和/或网页购物指令来实现网页购物相关的处理和指令。在一些实施例中,媒体处理指令666可以分解为音频处理指令和视频处理指令来分别实现音频处理相关的处理和功能以及视频处理相关的处理和功能。还可以在存储器650中存储激活记录以及国际移动设备标识(IMEI)674或类似的硬件标识符。
[0077]上述每个列出的指令和应用可对应于执行上述一个或多个功能的指令集。这些指令不需要实施为单独的软件程序、过程或者模块。存储器650可以包含另外的指令或更少的指令。进一步地,计算设备600的各种功能能够在硬件和/或软件中实现,包括在一个或多个信号处理和/或专用集成电路中实现。
[0078]描述的特征能够有利地在一个或多个在可编程系统中可执行的计算机程序中实现,该可编程系统包含至少一个可编程处理器、至少一个输入设备和至少一个输出设备,所述可编程处理器耦合以接收来自数据存储系统的数据和指令以及向数据存储系统发送数据和指令。计算机程序是能够直接或者间接地用在计算机中以执行一定的活动或产生一定的结果的指令集合。计算机程序可以以任意形式的编程语言(例如面向对象C,Java)来编写,所述编程语言包括编译或解释语言,且计算机程序可以以任意形式部署,包括作为单机程序或者作为适于用在计算环境中的模块、组件、子程序或其他单元。
[0079]通过举例的方式,适合执行指令程序的处理器包括,任意类型计算机中的通用和特定用途的微处理器,以及单独的处理器或多个处理器或核之一。一般地,处理器将从只读存储器或随机访问存储器或这两者接收指令和数据。计算机的基本元件是用来执行指令的处理器和用来存储指令和数据的一个或多个存储器。一般地,计算机还包含用于存储数据文件的一个或多个大容量存储设备,或者操作性地耦合以与其通信;该设备包括磁盘,诸如内置硬盘和可移除硬盘;磁光盘;以及光盘。适于有形地实施计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,例如包括:半导体存储器设备,诸如EPR0M,EEPR0M,以及闪存设备;诸如内置硬盘和可移除硬盘的磁盘;磁光盘;以及⑶-ROM和DVD-ROM盘。可以将处理器和存储器辅以或引入ASIC (专用集成电路)。
[0080]为了提供同用户的交互,可以在具有为用户显示信息的诸如CRT(阴极射线管)或LCD(液晶显示屏)监视器这样的显示设备以及让用户能够提供给计算机输入的键盘和诸如鼠标和轨迹球这样的指点设备的计算机上实施特征。
[0081]可以在包含诸如数据服务器的后端组件的计算机系统,或者包含有诸如应用服务器或因特网服务器的中间件组件的计算机系统,或者包含有诸如有着图形用户界面或者因特网浏览器的客户端计算机的前端组件的计算机系统,或者包含有它们的任意组合的计算机系统上实施特征。该系统的组件能够以任意形式或者诸如通信网络这样的数字数据通信媒介来连接。通信网络的例子包括,例如LAN、WAN以及组成因特网的计算机和网络。
[0082]计算机系统可以包含客户机和服务器。客户机和服务器通常是彼此远离的并且典型地通过网络交互。客户机和服务器的关系借由运行在各自计算机上以及彼此有着客户机-服务器关系的计算机程序而产生。
[0083]可以使用API来实施公开的实施例的一个或多个特征或步骤。API可以定义在发起调用的应用与提供服务、提供数据或者执行操作或计算的其它软件代码(例如,操作系统、库例程、函数)之间传递的一个或更多个参数。
[0084]API可以基于在API规范文档中定义的调用惯例通过参数列表或其它结构实现为程序代码中发送或接收一个或更多个参数的一个或更多个调用。参数可以是常量、键值、数据结构、对象、对象类、变量、数据类型、指针、数组、列表或者另一个调用。API调用和参数可以在任何编程语言中实现。编程语言可以定义编程人员将用来访问支持API的功能的词汇表和调用惯例。
[0085]在有些实现中,API调用可以向应用报告运行该应用的设备的能力,诸如输入能力、输出能力、处理能力、功率能力、通信能力等。
[0086]已经描述了多种实现。不过,应当理解,可以进行各种修改。举例来说,可以提供其他步骤,或者从所描述的流程中去除步骤,以及可以将其他组件添加至或者移除出所描述的系统。因此,其他实现在权利要求的保护范围内。举例来说,除了禁用定位系统,移动设备可以基于与位置应用相关的活动(例如跑步或者在汽车中驾驶)不再发生的指示来禁用或暂停运行在移动设备上的位置应用。
【权利要求】
1.一种方法,包括: 在移动设备上接收在移动设备上执行的应用已经进入后台状态的指示; 基于从移动设备的定位系统接收的数据确定移动设备已经在一时间间隔期间保持在一地理区域内,该地理区域是由根据所述应用的应用类型确定的半径来定义的;以及禁用移动设备的定位系统的至少一部分。
2.根据权利要求1的方法,包括: 从在移动设备上执行的所述应用接收应用类型,以及 基于接收的应用类型确定定义所述地理区域的半径。
3.根据权利要求1的方法,包括: 确定在移动设备上执行的所述应用没有被指定适用于确定定义所述地理区域的半径的应用类型;以及 基于从移动设备的定位系统接收的第二数据确定在移动设备上执行的所述应用的应用类型。
4.根据权利要求3的方法,其中从移动设备的定位系统接收的第二数据包括指示移动设备的加速度的数据。
5.根据权利要求3的方法,其中从移动设备的定位系统接收的第二数据包括指示移动设备的速度的数据。·
6.根据权利要求1的方法,包括: 基于从移动设备的定位系统接收的数据确定移动设备已经离开第二地理区域,该第二地理区域是由根据所述应用的应用类型确定的第二半径来定义的;以及启用移动设备的定位系统的所述部分。
7.根据权利要求1的方法,包括: 在移动设备上接收在移动设备上执行的所述应用已经进入前台状态的指示;以及 启用移动设备的定位系统的所述部分。
8.根据权利要求1的方法,其中移动设备是无线移动设备。
9.根据权利要求1的方法,包括: 基于由定位系统接收的数据的缺失,确定移动设备处于不同于与在移动设备上执行的所述应用相关联的位置类型的一类位置;以及禁用移动设备的定位系统的至少一部分。
10.根据权利要求1的方法,其中禁用移动设备的定位系统的至少一部分包括:基于指示移动设备的移动模式的数据来确定移动设备的用户的活动。
11.根据权利要求1的方法,其中移动设备的定位系统包括加速度计,并且从加速度计接收的数据指示所述设备已经在所述时间间隔期间保持静止。
12.—种移动设备,包括: 定位系统,被配置为确定移动设备的位置信息;以及 处理器,被配置为: 接收在移动设备上执行的应用已经进入后台状态的指示; 基于从定位系统接收的数据确定该移动设备已经在一时间间隔期间保持在一地理区域内,该地理区域是由根据所述应用的应用类型确定的半径来定义的;以及禁用定位系统的至少一部分。
13.根据权利要求12的移动设备,其中处理器被配置为: 从在移动设备上执行的所述应用接收应用类型,以及 基于接收的应用类型确定定义所述地理区域的半径。
14.根据权利要求12的移动设备,其中处理器被配置为: 确定在移动设备上执行的所述应用没有被指定用于确定定义所述地理区域的半径的应用类型;以及 基于从定位系统接收的第二数据确定在移动设备上执行的所述应用的应用类型。
15.根据权利要求14的移动设备,其中从定位系统接收的第二数据包括指示移动设备的加速度的数据。
16.根据权利要求14的移动设备,其中从定位系统接收的第二数据包括指示移动设备的速度的数据。
17.根据权利要求12的移动设备,其中处理器被配置为: 基于从定位系统接收的数据确定移动设备已经离开第二地理区域,该第二地理区域是由根据所述应用的应用类型确定的第二半径来定义的;以及启用定位系统的所述部分。
18.根据权利要求12的移动设备,其中处理器被配置为: 接收在移动设备上执行的所述应用已经进入前台状态的指示;以及 启用定位系统的所述部分。
19.根据权利要求12的移动设备,其中移动设备是无线移动设备。
20.根据权利要求12的移动设备,其中处理器被配置为: 基于由定位系统接收的数据的缺失,确定移动设备处于不同于与在移动设备上执行的所述应用相关联的位置类型的一类位置;以及禁用定位系统的至少一部分。
21.根据权利要求12的移动设备,其中禁用定位系统的至少一部分包括:基于指示移动设备的移动模式的数据来确定移动设备的用户的活动。
22.根据权利要求12的移动设备,其中定位系统包括加速度计,并且从加速度计接收的数据指示所述设备已经在所述时间间隔期间保持静止。
23.—种系统,包括: 用于接收在移动设备上执行的应用已经进入后台状态的指示的部件; 用于基于从移动设备的定位系统接收的数据确定移动设备已经在一时间间隔期间保持在一地理区域内的部件,该地理区域是由根据所述应用的应用类型确定的半径来定义的;以及 禁用移动设备的定位系统的至少一部分的部件。
24.根据权利要求23的系统,包括: 用于从在移动设备上执行的所述应用接收应用类型的部件;以及 用于基于接收的应用类型确定定义所述地理区域的半径的部件。
25.根据权利要求23的系统,包括: 用于确定在移动设备上执行的所述应用没有被指定用于确定定义所述地理区域的半径的应用类型的部件;以及 用于基于从移动设备的定位系统接收的第二数据确定在移动设备上执行的所述应用的应用类型的部件。
26.根据权利要求25的系统,其中从移动设备的定位系统接收的第二数据包括指示移动设备的加速度的数据。
27.根据权利要求25的系统,其中从移动设备的定位系统接收的第二数据包括指示移动设备的速度的数据。
28.根据权利要求23的系统,包括: 用于基于从移动设备的定位系统接收的数据确定移动设备已经离开第二地理区域的部件,该第二地理区域是由根据所述应用的应用类型确定的第二半径来定义的;以及 用于启用移动设备的定位系统的所述部分的部件。
29.根据权利要求23的系统,包括: 用于在移动设备上接收在移动设备上执行的所述应用已经进入前台状态的指示的部件;以及 用于启用移动设备的定位系统的所述部分的部件。
30.根据权利要求23的系统,其中移动设备是无线移动设备。
31.根据权利要求23的系统,包括: 用于基于由定位系统接收的数据的缺失,确定移动设备处于不同于与在移动设备上执行的所述应用相关联的位置类 型的一类位置的部件,以及 用于禁用移动设备的定位系统的至少一部分的部件。
32.根据权利要求23的系统,其中禁用移动设备的定位系统的至少一部分包括:基于指示移动设备的移动模式的数据来确定移动设备的用户的活动。
33.根据权利要求23的系统,其中移动设备的定位系统包括加速度计,并且从加速度计接收的数据指示所述设备已经在所述时间间隔期间保持静止。
【文档编号】H04M1/725GK103428361SQ201310315458
【公开日】2013年12月4日 申请日期:2013年4月28日 优先权日:2012年4月30日
【发明者】G·D·迈克古甘, J·N·布鲁恩斯, R·梅厄, R·K·黄, S·J·瑞 申请人:苹果公司