终端设备和用于终端设备的定位信息处理方法
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及终端设备和用于终端设备的定位信息处理方法。
背景技术
随着新一代移动智能平台的普及,利用全球定位系统(Global Positioning System,GPS)以及其他类型的全球导航卫星系统(Global Navigation Satellite System,GNSS)进行定位几乎是当下所有智能终端(例如手机、平板电脑等)的标准功能。定位功能作为终端设备的基本功能,在功耗方面一直是热点问题。例如,终端设备的部分应用在短时间内频繁发起定位,造成功耗过高;部分应用长时间发起定位造成功耗过高;部分应用(例如QQ浏览器等)发起定位并且通过广播通知类型获取定位数据,导致在应用未主动取消的情况下,即使应用进程被杀死,系统还是无法停止定位,从而造成功耗过高,等等。
为了解决上述问题,现有技术中提出了如图1所示的技术方案,其中终端利用算法策略发现长期定位和频繁定位等异常定位行为,通过广播消息将高耗电应用通知手机管家,手机管家根据该广播消息对用户进行告警,并且在获得用户许可的情况下,杀死出现异常定位行为的应用并终止定位服务。然而,在终端用户未进行处理的情况下,现有技术中是否为应用程序提供定位服务完全取决于应用程序的请求,无法实现对定位服务造成功耗的主动控制。
发明内容
本发明实施例提供一种终端设备和用于终端设备的定位信息处理方法,能够实现对终端设备内定位服务造成功耗的主动控制。
第一方面,提供了一种用于终端设备的定位信息处理方法,该终端设备包括处理器和用于存储第一应用程序的存储器,该方法包括:该处理器接收定位信息;若该第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,该处理器丢弃该定位信息。
可选地,该第一应用程序为请求定位服务的应用程序,可以具体为正在请求定位服务的应用程序和/或已经请求了定位服务的应用程序。该处理器可以接收定位信息,其中,该定位信息可以包括该第一应用程序的定位请求或该第一应用程序请求的定位数据。如果该处理器确定该第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,则该处理器可以丢弃该定位信息,即不为该第一应用程序提供定位服务。
因此,根据本发明实施例的终端设备,在第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行时,处理器丢弃该第一应用程序对应的定位信息,不向该第一应用程序提供定位服务,能够实现对终端设备内定位服务造成功耗的主动控制,避免终端设备中后台运行的某些应用程序频繁发起定位或长时定位等异常定位行为,从而降低终端设备的功耗,提高终端设备的续航时间,提高用户体验。
可选地,该终端设备还包括:用于从该终端设备外部获取定位数据的定位芯片。
在第一方面的第一种可能的实现方式中,该处理器接收定位信息,包括:该处理器接收该第一应用程序发送的定位请求;该处理器丢弃该定位信息,包括:该处理器禁止向定位芯片发送该定位请求。
此时,该处理器不向该定位芯片发送该定位请求。
在第一方面的第二种可能的实现方式中,该处理器接收定位信息,包括:该处理器接收定位芯片发送的该终端设备当前的定位数据;该处理器丢弃该定位信息,包括:该处理器禁止向该第一应用程序发送该终端设备当前的定位数据。
此时,该处理器不向该第一应用程序发送该定位数据。
结合上述可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:若该第一应用程序不处于定位服务限制使用状态和/或该第一应用程序当前在前台运行,该处理器发送该定位信息。
可选地,该定位信息包括:该第一应用程序的定位请求;该处理器发送该定位信息,包括:该处理器向定位芯片发送该定位请求。
可选地,如果该定位信息包括:定位数据;该处理器发送该定位信息,包括:该处理器向该第一应用程序发送该定位数据。
结合上述可能的实现方式,在第一方面的第四种可能的实现方式中,该第一应用程序是否处于定位服务限制使用状态由用户设置,或者该第一应用程序是否处于定位服务限制使用状态为该终端设备的默认设置。
结合上述可能的实现方式,在第一方面的第五种可能的实现方式中,在该处理器丢弃该定位信息之前,该方法还包括:该处理器确定定位服务冷冻列表中是否包括该第一应用程序,其中,该定位服务冷冻列表包括处于定位服务限制使用状态并且在后台运行的至少一个应用程序;若该第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,该处理器丢弃该定位信息,包括:若该定位服务冷冻列表包括该第一应用程序,该处理器丢弃该定位信息。
该定位服务冷冻列表包括处于定位服务限制使用状态并且当前在后台运行的至少一个应用程序。可选地,该处理器可以通过查询该定位服务冷冻列表确定该第一应用程序是否满足处于定位服务限制使用状态并且当前在后台运行的条件,进而由此确定是否丢弃该第一应用程序对应的定位信息。
具体地,如果该定位服务冷冻列表包括该第一应用程序,则表明该第一应用程序满足处于定位服务限制使用状态并且当前在后台运行的条件;反之,如果该定位服务冷冻列表不包括该第一应用程序,则表明该第一应用程序不满足上述条件。
这样,通过设置定位服务冷冻列表,并且处理器根据该定位服务冷冻列表确定是否发送应用程序对应的定位信息,能够降低处理器的负担和复杂度,提高定位服务的处理效率,提高终端设备的整体性能。
结合上述可能的实现方式,在第一方面的第六种可能的实现方式中,若该第一应用程序不处于定位服务限制使用状态和/或该第一应用程序当前在前台运行,该处理器发送该定位信息,包括:如果该定位服务冷冻列表不包括该第一应用程序,该处理器发送该定位信息。
结合上述可能的实现方式,在第一方面的第七种可能的实现方式中,该方法还包括:如果该至少一个应用程序中的第二应用程序由前台运行转变为后台运行,并且该第二应用程序处于定位服务限制使用状态,该处理器将该第二应用程序添加至该定位服务冷冻应用列表。
结合上述可能的实现方式,在第一方面的第八种可能的实现方式中,该方法还包括:若该第一应用程序由后台运行转变为前台运行,该处理器将该第一应用程序从该定位服务冷冻列表中删除。
第二方面,提供了另一种用于终端设备的定位信息处理方法,该终端设备包括处理器、显示屏和运动传感器,该方法包括:该处理器接收定位信息;该处理器根据运动传感器获取的运动数据,确定该终端设备的运动状态为移动状态或静止状态;若该终端设备当前满足下列条件中的任意一种:该显示屏处于灭屏状态、该终端设备的运动状态为静止状态、该显示屏处于灭屏状态且该终端设备的运动状态为静止状态,该处理器丢弃该定位信息。
因此,根据本发明实施例的终端设备,当处理器确定终端设备的显示屏当前处于灭屏状态和/或终端设备当前处于静止状态时,丢弃接收到的定位信息,能够实现对终端设备内定位服务造成功耗的主动控制,降低终端设备的功耗,提高终端设备的续航时间,提高用户体验。
在第二方面的第一种可能的实现方式中,该方法还包括:如果该终端设备设备当前满足下列条件中的至少一种:该显示屏处于亮屏状态和该终端设
备处于移动状态,该处理器发送该定位信息。
可选地,该终端设备还可以包括用于存储第一应用程序的存储器。
结合上述可能的实现方式,在第二方面的第二种可能的实现方式中,如果该终端设备设备当前满足下列条件中的至少一种:该显示屏处于亮屏状态和该终端设备的运动状态为移动状态,该处理器发送该定位信息,包括:如果该终端设备设备当前满足下列条件中的至少一种:该显示屏处于亮屏状态和该终端设备的运动状态为移动状态,该处理器根据第一应用程序的当前状态,确定是否发送该定位信息。
可选地,该终端设备还包括:用于从该终端设备外部获取定位数据的定位芯片。
结合上述可能的实现方式,在第二方面的第三种可能的实现方式中,该处理器接收定位信息,包括:该处理器接收第一应用程序发送的定位请求;该处理器丢弃该定位信息,包括:该处理器禁止向定位芯片发送该定位请求。
此时,该处理器不向定位芯片发送该定位请求。
结合上述可能的实现方式,在第二方面的第四种可能的实现方式中,该处理器接收定位信息,包括:该处理器接收该定位芯片发送的该终端设备当前的定位数据;该处理器丢弃该定位信息,包括:该处理器禁止向该第一应用程序发送该终端设备当前的定位数据。
此时,该处理器不向该第一应用程序发送该定位数据。
可选地,如果该定位信息包括定位数据,该处理器发送该定位信息包括:该处理器向该第一应用程序发送该定位数据。
可选地,如果该定位信息包括第一应用程序发送的定位请求,该处理器发送该定位信息包括:该处理器向定位芯片发送该定位请求。
结合上述可能的实现方式,在第二方面的第五种可能的实现方式中,若该终端设备当前满足下列条件中的任意一种:该显示屏处于灭屏状态、该终端设备的运动状态为静止状态、该显示屏处于灭屏状态且该终端设备的运动
状态为静止状态,丢弃该定位信息,包括:若该终端设备当前满足下列条件中的任意一种:该显示屏处于灭屏状态的时长达到第一阈值、该终端设备处于静止状态的时长达到第二阈值、该显示屏处于灭屏状态的时长达到第三阈值且该终端设备当前处于静止状态,该处理器丢弃该定位信息。
在本发明的某些方面,该终端设备也可以不包括定位芯片,例如定位功能集成在该处理器中。
可选地,该处理器可以通过RF射频电路接收定位数据,或该处理器接收RF射频电路传输的定位信号,并根据该定位信号生成定位数据。如果该第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,则该处理器可以确定不向该第一应用程序发送该定位数据。
可选地,该处理器可以接收第一应用程序发送的定位请求。如果该第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,则该处理器可以丢弃该定位请求消息或拒绝该第一应用程序的定位请求。
第三方面,提供了一种用于执行第一方面或第一方面的任意可能的实现方式中的方法的处理器。
第四方面,提供了一种用于执行第二方面或第二方面的任意可能的实现方式中的处理器。
第五方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第六方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
第七方面,提供了一种终端设备,该终端设备包括用于存储至少一个应用程序的存储器和处理器,其中该处理器用于执行第一方面或第一方面的任意可能的实现方式中的方法。
第八方面,提供了一种终端设备,该终端设备包括处理器、显示屏和运动传感器,其中,该运动传感器用于获取该终端设备的运动数据,该处理器用于执行第二方面或第二方面的任意可能的实现方式中的方法。
可选地,该终端设备还可以包括用于存储至少一个应用程序的存储器。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中用于控制定位服务耗电的技术方案示意图。
图2是本发明实施例提供的终端设备的示意性结构图。
图3是本发明实施例提供的终端设备中处理器的具体实现的示意性框图。
图4是本发明实施例提供的用于终端设备的定位信息处理方法的示意性流程图。
图5是本发明另一实施例提供的用于终端设备的定位信息处理方法的示意性流程图。
图6是本发明另一实施例提供的用于终端设备的定位信息处理方法示例的示意性流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图2示意性地示出了本发明实施例的终端设备200。该终端设备200可以包括处理器210、存储器220和射频(Radio Frequency,RF)电路230,并且该终端设备200上可以安装有N个应用程序,其中该N个应用程序可以存储于该存储器220中,N≥1。
可选地,该终端设备200还可以包括输入单元240、显示单元250、至少一个传感器260、音频电路270、扬声器271、麦克风272以及电源280等部件。
可选地,该终端设备200还可以包括定位芯片290,其中,该定位芯片290可以用于确定该终端设备的当前位置。在本发明实施例中,该处理器210和定位芯片290可以分开设置或者集成在一起,本发明实施例对此不做限定。为了便于理解,下面以该终端设备包括单独设置的定位芯片290为例进行描述,但本发明实施例不限于此。定位芯片290例如可以为GPS芯片。
具体地,处理器210可以是终端设备200的控制中心,利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器220中的程序和/或模块,以及调用存储在存储器220内的数据,执行终端设备200的各种功能。可选的,处理器210可以包括一个或多个处理单元。
存储器220可用于存储软件程序以及模块,处理器210通过运行存储在存储器220的软件程序以及模块,从而执行终端设备200的各种功能应用以及数据处理。存储器220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备200的使用所创建的数据(比如音频数据、图像数据、电话本等)等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
RF电路230可用于收发信息或用于在通话过程中的信号的接收和发送。例如,在GPS定位过程中,该RF电路230可以用于接收GPS卫星或其它
类型的定位系统发送的信号,并将该信号传输至处理器210或定位芯片290进行处理。通常,RF电路230可以包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。其中的天线可以包括所有手机上的天线,例如:主天线和副天线,其中,副天线可以为GPS天线、Wi-Fi天线、NFC天线等;多种副天线可以共用一个天线本体。此外,RF电路230还可以通过无线通信技术与网络和其他设备通信,例如,可以接收基站发送的下行信息,并且可以进一步将接收到的下行信息传输至处理器210进行处理;或者可以向基站发送上行数据。该无线通信技术可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
输入单元240可以用于接收输入的数字或字符信息,以及产生与终端设备200的用户设置以及功能控制有关的键信号输入。具体地,输入单元240可以包括触摸屏241以及其他输入设备242。触摸屏241,也称为触控面板,可以用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触摸屏241上或在触摸屏241附近的操作),并根据预先设定的程序驱动相应的连接装置。可选的,触摸屏241可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置可以用于检测用户的触摸方位,检测触摸操作对应的信号,并将该触摸操作对应的触摸信息(例如触摸信号、触摸方位信息等)传送给触摸控制器;触摸控制器可以用于接收来自于触摸检测装置的触摸信息,将该触摸信息转换成触点坐标,然后将该触点坐标的信息发送给处理器210。此外,该触摸控制器还可以用于接收处理器210发来的命令,并且执行该命令。
可选地,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触摸屏241。除了触摸屏241,输入单元240还可以包括其他输入设备242。具体地,其他输入设备242可以包括但不限于物理键盘、功能键(比如音量控制按键、电源开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元250可以用于显示由用户输入的信息或向用户提供的信息以及终端设备200的各种菜单。显示单元250可以包括显示面板251,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板241。进一步的,触摸屏241可覆盖显示面板251,当触摸屏241检测到在其上或附近的触摸操作后,将该触摸操作的信息传送给处理器210以确定触摸事件的类型,处理器210可以根据触摸事件的类型在显示面板251上提供相应的视觉输出。虽然在图2中,触摸屏241与显示面板251是作为两个独立的部件来实现终端设备200的输入和输入功能,但是在某些实施例中,可以将触摸屏241与显示面板251集成而实现终端设备200的输入和输出功能。
该至少一个传感器260可以包括运动传感器,该运动传感器可以用于获取该终端设备的运动数据,并由此确定该终端设备的运动状态,其中,该运动状态可以包括静止状态或移动状态。或者,该运动传感器也可以将获取到的运动数据传输至处理器210,由处理器210根据该运动数据,确定该终端设备当前的运动状态。
可选地,该至少一个传感器260还可以包括其它传感器,比如光传感器、重力传感器(gravity sensor),等等。具体地,光传感器可包括环境光传感器和接近光传感器。其中,环境光传感器可以根据环境光线的明暗来调节显示面板241的亮度;接近光传感器可以检测是否有物体靠近或接触终端设备,并在终端设备200移动到耳边时,关闭显示面板241和/或背光。重力传感器可以用于检测终端设备在各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可以用于识别终端设备姿态的应用(比如横竖
屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。该至少一个传感器260还可以包括陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
可选地,音频电路270、扬声器271和麦克风272可以提供用户与终端设备200之间的音频接口。音频电路270可以用于将接收到的音频数据转换为电信号,并将电信号传输到扬声器271,扬声器271可以用于将接收到的电信号转换为声音信号后将其输出。另一方面,麦克风272可以用于将收集的声音信号转换为电信号,并传输至音频电路,音频电路270可以将接收到的电信号转换为音频数据,再将音频数据输出至RF电路230以发送给其它设备,或者将音频数据输出至存储器220以便进一步处理。
可选地,终端设备200还可以包括用于为各个部件供电的电源280(比如电池),优选的,电源可以通过电源管理系统与处理器210逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
应理解,尽管未示出,终端设备200还可以包括无线保真(Wireless Fidelity,WiFi)模块、蓝牙模块等,在此不再赘述。
还应理解,为了便于说明,图2仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明各实施例的具体描述。
还应理解,图2所示的终端设备结构仅为示例性地,本发明实施例中的终端设备可以包括比图2更多或更少的部件,或者组合某些部件,或者具有与图2不同的部件布置。图2中示出的终端设备结构并不构成对本发明实施例的限定。
在本发明实施例中,定位芯片可以通过处理器210向应用程序220提供定位服务,例如,应用程序220可以向处理器210发送定位请求,该处理器210可以向该定位芯片转发该定位请求,该定位芯片在接收到该定位请求之后,可以通过该处理器210向该应用程序220发送该终端设备200当前的定位数据。可选地,该定位芯片在接收到某个应用程序发送的定位请求之后,
可以仅向该应用程序提供一次定位数据,或者可以在某个时间段内周期性地向该应用程序发送定位数据,或者可以在某个时间段内每次在获取到定位数据时向该应用程序发送定位数据,其中,该时间段的长度可以预先设定或者根据该应用程序发送的定位请求确定,或者该时间段可以持续到该定位芯片接收到该应用程序发送的停止定位请求为止,但本发明实施例不限于此。可选地,该定位数据可以包括下列数据中的至少一种:位置(location)数据、地理围栏(Geo-fencing)数据、国际海洋电子协会(National Marine Electronics Association,NMEA)GPS数据、卫星状态相关数据、GPS导航数据、GPS测量状态数据,或包括其它类型的定位数据,本发明实施例对此不做限定。
可选地,该处理器210可以被配置为根据应用程序的当前状态,确定是否为该应用程序提供定位服务。具体地,该处理器210可以用于接收定位信息,其中,该定位信息可以包括应用程序发送的定位请求或者定位芯片发送的定位数据。该处理器210可以根据应用程序的当前状态,确定是否发送该应用程序对应的定位信息,其中,该应用程序对应的定位信息可以包括该应用程序发送的定位请求或者该应用程序请求的定位数据。可选地,该应用程序的当前状态可以包括定位服务授权状态和运行状态中的至少一种,运行状态可以包括前台运行、后台运行或不运行,定位服务授权状态可以包括处于定位服务限制使用状态或不处于定位服务限制使用状态。可选地,不处于定位服务限制使用状态也可以称为处于定位服务无限使用状态,处于定位服务无限使用状态的应用程序被允许在任何情况下使用定位服务,例如,该处于定位服务无限使用状态的应用程序每次对于定位服务的请求都能够得到允许和满足;而处于定位服务限制使用状态的应用程序在某些条件(例如在前台运行等)下被允许使用定位服务,而在另一些条件下被禁止使用定位服务。该应用程序被允许使用或者被禁止使用定位服务的条件可以预先设置,例如由终端设备的用户设置,或者由终端设备的厂商设置,本发明实施例对此不做限定。
可选地,如果应用程序当前处于定位服务无限使用状态或者应用程序当前在前台运行,则该处理器210可以发送该应用程序对应的定位信息。
可选地,如果该应用程序当前处于定位服务限制使用状态并且在后台运行,则该处理器可以不发送该应用程序对应的定位信息。
作为一个例子,该处理器210可以用于接收第一应用程序发送的定位请求,并且根据该第一应用程序的当前状态,确定是否向定位芯片转发该定位请求。可选地,如果该处理器210确定该第一应用程序处于定位服务无限使用状态或确定该第一应用程序在前台运行,则该处理器210可以向定位芯片转发该定位请求。可选地,作为另一实施例,如果该处理器210确定第一应用程序当前处于定位服务限制使用状态并且该第一应用程序在后台运行,则该处理器210可以丢弃该定位请求而不向该定位芯片转发定位请求。
作为另一个例子,该处理器210可以用于接收定位芯片发送的定位数据,并且根据请求定位服务的至少一个应用程序中每个应用程序的当前状态,确定是否向该每个应用程序发送该定位数据。其中,该处理器210可以根据接收到的至少一个定位请求,确定请求了定位服务的至少一个应用程序,或者也可以获取定位服务请求应用列表,并将定位服务请求应用列表中的所有应用程序确定为请求定位服务的至少一个应用程序,其中,该定位服务请求应用列表可以是该处理器210根据接收到的定位请求生成的,也可以是其它部件生成的,本发明实施例对此不做限定。
此时,可选地,如果该处理器210确定该至少一个应用程序中的第一应用程序处于定位服务无限使用状态或确定该第一应用程序在前台运行,则该处理器210可以向该第一应用程序发送该定位数据。可选地,作为另一实施例,如果该处理器210确定该至少一个应用程序中的第一应用程序当前处于定位服务限制使用状态并且在后台运行,则该处理器210可以不向该第一应用程序发送该定位数据,此时,可选地,该处理器210可以向该至少一个应用程序中处于定位服务无限使用状态的应用程序和在前台运行的应用程序
发送该定位数据,但本发明实施例不限于此。当处理器210不向该第一应用程序发送定位数据时,该第一应用程序就可以不进行定位服务,从而可以节省该第一应用程序运行所消耗的功耗。
因此,根据本发明实施例的终端设备,通过处理器在第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行时,不向该第一应用程序提供定位服务,能够实现对终端设备内定位服务造成功耗的主动控制,避免终端设备中后台运行的某些应用程序频繁发起定位或长时定位等异常定位行为,从而降低终端设备的功耗,提高终端设备的续航时间,提高用户体验。
在本发明实施例中,可以为终端设备200上安装的所有或部分应用程序设置定位服务授权状态,例如,可以将可能或经常出现异常定位行为的应用程序的定位服务授权状态设置为定位服务限制使用状态。可选地,每个应用程序的定位服务授权状态可以由用户设置或者可以为该终端设备的默认设置,或者可以由终端设备根据对应用程序的行为进行分析和统计来确定,本发明实施例不限于此。或者,也可以仅将某些应用程序设置为定位服务限制使用状态,而其它未设置为定位服务限制使用状态的应用程序默认为处于定位服务无限使用状态或默认为不处于定位服务限制使用状态,本发明实施例对此不做限定。
作为一个可选实施例,该处理器210可以分别确定应用程序的定位服务授权状态和运行状态。
具体地,该处理器210可以通过多种方式确定应用程序是否处于定位服务限制使用状态。例如,该终端设备200还包括存储器,该存储器中可以存储有定位服务黑名单,该定位服务黑名单中包括被设置为定位服务限制使用状态的至少一个应用程序。此时,该处理器210可以通过查询该定位服务黑名单中是否包括第一应用程序,来确定该第一应用程序是否处于定位服务限制是否状态。或者,该终端设备200可以为应用程序设置标签来表示该应用
程序的定位服务授权状态,其中,该终端设备200可以为所有应用程序设置标签,该标签表示应用程序处于定位服务限制使用状态或定位服务无限使用状态;或者也可以仅为被设置为处于定位服务限制使用状态的应用程序设置标签,即被设置了标签的应用程序即为处于定位服务限制使用状态的应用程序,没有被设置标签的应用程序即为处于定位服务无限使用状态的应用程序。此时,该处理器可以根据第一应用程序的标签或第一应用程序是否设置有标签,确定该第一应用程序是否处于定位服务限制使用状态。可选地,该处理器还可以通过其它方式确定应用程序的定位服务授权状态,本发明实施例对此不做限定。
可选地,如果该处理器210确定该第一应用程序当前在前台运行,则该处理器210可以不执行确定该第一应用程序的定位服务授权状态或确定该第一应用程序是否处于定位服务限制使用状态的步骤,而直接发送该第一应用程序对应的定位信息。或者,如果该处理器210确定该第一应用程序不处于定位服务限制使用状态,则该处理器210也可以不执行确定该第一应用程序的运行状态的步骤,而直接发送该第一应用程序对应的定位信息,但本发明实施例不限于此。
作为另一个可选实施例,该处理器210可以不分别确定应用程序的定位服务授权状态和运行状态,而是直接确定应用程序的当前状态为允许使用定位服务或禁止使用定位服务,其中,禁止使用定位服务的应用程序即为处于定位服务限制使用状态并且在后台运行的应用程序,允许使用定位服务的应用程序即为不处于定位服务限制使用状态的应用程序或在前台运行的应用程序。可选地,该终端设备200的存储器中可以存储有定位服务冷冻应用列表,该定位服务冷冻应用列表中包括被禁止使用定位功能的至少一个应用程序。此时,该处理器210可以通过查询该定位服务冷冻应用列表,直接确定第一应用程序的当前状态。具体地,如果该定位服务冷冻应用列表中包括第一应用程序,则该处理器可以确定该第一应用程序的当前状态为禁止使用定
位功能,即该第一应用程序当前处于定位服务限制使用状态并且在后台运行;反之,如果该定位服务冷冻应用列表不包括该第一应用程序,则该处理器210可以确定该第一应用程序的当前状态为允许使用定位服务,即该第一应用程序不处于定位服务限制使用状态或该第一应用程序在前台运行,但本发明实施例不限于此。
可选地,该定位服务冷冻应用列表可以由处理器210生成,例如,该处理器可以将处于定位服务限制使用状态并且在后台运行的至少一个应用程序添加到定位服务冷冻应用列表,但本发明实施例不限于此。
可选地,该处理器210还可以用于更新该定位服务冷冻应用列表,具体可以周期性地或触发性地更新该定位服务冷冻应用列表。例如,如果该定位服务冷冻列表中的应用程序由后台运行转变为在前台运行,则该处理器210可以将该应用程序从该定位服务冷冻应用列表中删除。或者,如果处于定位服务限制使用状态的应用程序由前台运行转为后台运行,则该处理器210可以将该应用程序添加至该定位服务冷冻应用列表。或者,如果用户或终端设备的设置发生变更,导致处于定位服务限制使用状态的应用程序变为不处于定位服务限制使用状态并且该应用程序包括在该定位服务冷冻应用列表中,则该处理器210也可以将该应用程序从该定位服务冷冻应用列表中删除,但本发明实施例不限于此。
作为另一个可选实施例,该终端设备200中的处理器210可以被配置为根据终端设备200的当前状态,确定是否为请求定位服务的至少一个应用程序提供定位服务,例如,该处理器210可以根据该终端设备的当前状态,确定是否发送获取到的定位信息。可选地,该终端设备200的当前状态可以由显示屏的状态、运动状态等等中的至少一种状态确定。例如,该终端设备200还可以包括显示屏和用于获取终端设备当前运动数据的运动传感器,此时,该处理器210可以根据该显示屏的状态以及根据该运动数据确定的该终端设备的运动状态,确定是否发送获取到的定位信息,其中,该运动状态可以包
括移动状态或静止状态,并且该运动状态可以由运动传感器或处理器根据该运动数据确定,本发明实施例对此不做限定。
如果该处理器210确定该终端设备200当前满足下列条件中的任意一种:显示屏处于灭屏状态、运动状态为静止状态、显示屏处于灭屏状态且运动状态为静止状态,则该处理器210可以丢弃该定位信息,即该处理器不为该请求定位服务的至少一个应用程序提供定位服务。可选地,如果该处理器210接收到该至少一个应用程序中任意应用程序发送的定位请求,则该处理器210可以丢弃该定位请求,而不向定位芯片转发该定位请求;或者,如果该处理器210接收到定位芯片发送的定位数据,则该处理器210可以丢弃该定位数据,而不向该至少一个应用程序中的任意应用程序发送该定位数据,但本发明实施例对此不做限定。
可选地,为了进一步节约该终端设备的功耗,该处理器还可以关闭定位服务,例如关闭定位芯片,但本发明实施例不限于此。
可选地,该处理器210可以在确定该终端设备当前处于静止状态和/或显示屏处于灭屏状态时,即丢弃该定位信息,也可以在确定该终端设备处于静止状态达到一定时长和/或显示屏处于灭屏状态达到一定时长时,丢弃该定位信息。例如,如果该终端设备当前满足下列条件中的任意一种:显示屏处于灭屏状态的时长达到第一阈值、终端设备处于静止状态的时长达到第二阈值、显示屏处于灭屏状态的时长达到第三阈值且该终端设备当前为静止状态,该处理器210丢弃该定位信息,但本发明实施例不限于此。
相应地,如果该处理器210确定该终端设备200不满足上述条件,则该处理器210可以发送该定位信息。
作为另一个可选实施例,如果该处理器210确定该终端设备200的显示屏处于亮屏状态和/或该终端设备200当前为移动状态,则该处理器210可以发送该定位信息,即该处理器为该请求定位服务的至少一个应用程序提供定位服务。可选地,如果该处理器210接收到该至少一个应用程序中的一个或
多个应用程序发送的定位请求,则该处理器210可以向定位芯片转发接收到的定位请求;或者,如果该处理器210接收到定位芯片发送的定位数据,则该处理器210可以向该至少一个应用程序中的一个或多个应用程序发送该定位数据,但本发明实施例对此不做限定。可选地,该处理器210还可以进一步根据该至少一个应用程序中每个应用程序的当前状态,确定是否为该每个应用程序提供定位服务,具体实现可参见上面实施例中对于第一应用程序的描述,为了简洁,这里不再赘述。
作为另一个可选实施例,该处理器210还可以被配置为在确定该终端设备处于用户睡眠状态时,丢弃该定位信息,但本发明实施例不限于此。
在本发明实施例中,该终端设备200可以为任意具有定位功能的设备,例如移动电话、平板个人电脑(Tablet Personal Computer)、媒体播放器、智能电视、笔记本电脑(Laptop Computer)、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、个人计算机(Personal Computer)、移动上网装置(Mobile Internet Device,MID)或智能手表等可穿戴式设备(Wearable Device)等,本发明实施例对此不做限定。
可选地,该处理器210可以由集成电路(Integrated Circuit,IC)组成,例如可以由单独封装的IC所组成,也可以由连接多个具有相同功能或不同功能的封装IC而组成。该处理器210可以是中央处理单元(Central Processing Unit,CPU),该处理器210还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,本发明实施例对此不做限定。
可选地,该处理器210可以与存储器220耦合,并且用于执行存储器220中存储的指令,其中,在该处理器210执行所述指令时,所述处理器用于执
行上述实施例中所述的与处理器对应的步骤,但本发明实施例不限于此。
图3示出了本发明实施例中处理器210的可能实现,其中,该处理器210可以包括省电精灵冷冻应用、功耗管理服务(Power Manager Service)和位置管理服务(Location Manager Service),其中,省电精灵冷冻应用用于生成定位服务冷冻应用列表,例如根据当前的使用场景,确定禁止使用定位服务的至少一个应用程序,并通过功耗管理服务向位置管理服务发送该省电精灵冷冻应用列表,其中,功耗管理服务可以通过代理GPS(proxyGPS)接口与位置管理服务连接,位置管理服务包括GPS冷冻程序(GpsFreezeProc),该GPS冷冻程序中包括该定位服务冷冻应用列表(例如HashMap)。该位置管理服务可以通过查询该定位服务冷冻应用列表,确定是否向应用程序发送定位数据或是否向定位芯片发送应用程序的定位请求。
作为另一个可选实施例,为了进一步降低终端设备的功耗,该处理器210还可以用于在确定该第一应用程序处于定位服务限制使用状态并且在后台运行时,停止执行该第一应用程序的指令,以使得该第一应用程序进入冷冻状态,但本发明实施例不限于此。
可选地,在本发明实施例中,应用程序进入冷冻状态以及由冷冻状态转换至活动状态的条件可以与应用程序是否被允许使用定位服务的条件类似,为了简洁,这里不再赘述。
上文中结合图2至图3,详细描述了根据本发明实施例的终端设备,下面将结合图4至图6,详细描述根据本发明实施例的定位信息处理方法。
图4示出了本发明实施例提供的定位信息处理方法300,该定位信息处理方法可以应用于具有定位功能的终端设备,例如应用于上述终端设备200,其中,该终端设备包括用于存储至少一个应用程序的存储器和处理器。如图4所示,该方法300包括:
S310,处理器接收定位信息;
S320,若第一应用程序处于定位服务限制使用状态并且该第一应用程序
当前在后台运行,该处理器丢弃该定位信息。
在本发明实施例中,该至少一个应用程序包括第一应用程序并且该第一应用程序请求定位服务(包括已经请求了定位服务或正在请求定位服务)。如果第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,则该处理器丢弃与该第一应用程序对应的定位信息,其中,与该第一应用程序对应的定位信息可以包括下列中的至少一种:该第一应用程序请求的定位数据、该第一应用程序的定位请求,但本发明实施例不限于此。
可选地,该终端设备还包括用于从该终端设备外部获取定位数据的定位芯片。
此时,作为一个可选实施例,S310,该处理器接收定位信息,包括:该处理器接收该第一应用程序发送的定位请求;
S320,该处理器丢弃该定位信息,包括:该处理器不向该定位芯片发送该定位请求。
此时,作为另一个可选实施例,S310,该处理器接收定位信息,包括:该处理器接收该定位芯片发送的该终端设备当前的定位数据;
S320,该处理器丢弃该定位信息,包括:该处理器禁止向该第一应用程序发送该终端设备当前的定位数据。
此时,该处理器不向该第一应用程序发送定位数据。可选地,该处理器可以向请求了定位服务的其它应用程序发送该定位数据,但本发明实施例不限于此。
可选地,该终端设备也可以不包括定位芯片,例如,该处理器集成了定位功能。此时,可选地,该处理器可以接收RF电路发送的定位数据;或者该处理器可以接收RF电路发送的定位信号,并根据定位信号生成定位数据。并且,该处理器还可以根据该第一应用程序的当前状态,确定是否向该第一应用程序发送该定位数据。
作为另一个可选实施例,该方法300还包括:若该第一应用程序不处于
定位服务限制使用状态和/或该第一应用程序当前在前台运行,该处理器发送该定位信息。
可选地,如果该终端设备不包括定位芯片,该处理器在接收到第一应用程序的定位请求时,可以根据该第一应用程序的当前状态,确定是否准许该定位请求。例如,如果第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,则该处理器可以丢弃接收到的该定位请求消息,以拒绝该第一应用程序的定位请求;反之,则该处理器可以准许该第一应用程序的定位请求,例如可以向该第一应用程序发送定位请求响应,或者直接向该第一应用程序发送当前的定位数据,但本发明实施例不限于此。
此时,可选地,如果该定位信息包括:该第一应用程序的定位请求,则该处理器发送该定位信息,包括:该处理器向定位芯片发送该定位请求。
此时,可选地,如果该定位信息包括:定位数据,则该处理器发送该定位信息,包括:该处理器向该第一应用程序发送该定位数据。
作为一个可选实施例,该第一应用程序是否处于定位服务限制使用状态由用户预先设置或者为该终端设备的默认设置。或者,该第一应用程序是否处于定位服务限制使用状态可以由终端设备通过统计该第一应用程序的行为确定,但本发明实施例不限于此。
作为另一个可选实施例,在S320之前,该方法300还包括:
该处理器确定定位服务冷冻应用列表中是否包括该第一应用程序,其中,该定位服务冷冻应用列表包括处于定位服务限制使用状态并且在后台运行的至少一个应用程序;
相应地,S320,若该第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行,该处理器丢弃该定位信息,包括:
若该定位服务冷冻应用列表包括该第一应用程序,该处理器丢弃该定位信息。
此时,该处理器可以通过查询该定位服务冷冻应用列表,确定该第一应
用程序是否处于定位服务限制使用状态并且在后台运行。
作为另一个可选实施例,可选地,若该第一应用程序不处于定位服务限制使用状态和/或该第一应用程序当前在前台运行,该处理器发送该定位信息,包括:
如果该定位服务冷冻列表不包括该第一应用程序,该处理器发送该定位信息。
作为另一个可选实施例,该方法300还包括:
若该第一应用程序由后台运行转变为前台运行,该处理器将该第一应用程序从该定位服务冷冻应用列表中删除。
作为另一个可选实施例,该方法300还包括:如果该至少一个应用程序中的第二应用程序由前台运行转变为后台运行,并且该第二应用程序处于定位服务限制使用状态,该处理器将该第二应用程序添加至该定位服务冷冻应用列表。
本发明实施例的方法300的各个步骤和具体实现可以参照上述装置实施例中的相应描述,为避免重复,在此不再赘述。
因此,根据本发明实施例的定位信息处理方法,当第一应用程序处于定位服务限制使用状态并且该第一应用程序当前在后台运行时,处理器丢弃该第一应用程序对应的定位信息,能够避免终端设备中后台运行的某些应用程序频繁发起定位或长时定位等异常定位行为,从而降低终端设备的功耗,提高终端设备的续航时间,提高用户体验。
图5示出了本发明另一实施例提供的定位信息处理方法400,该定位信息处理方法可以应用于具有定位功能的终端设备,例如应用于上述终端设备200,其中,该终端设备包括处理器、显示屏和运动传感器。如图5所示,该方法400包括:
S410,处理器接收定位信息;
S420,该处理器根据运动传感器获取的运动数据,确定终端设备的运动
状态为移动状态或静止状态;
S430,若该终端设备当前满足下列条件中的任意一种:显示屏处于灭屏状态、终端设备的运动状态为静止状态、显示屏处于灭屏状态且终端设备的运动状态为静止状态,该处理器丢弃该定位信息。
可选地,如果该终端设备当前的运动状态为静止状态和/或该终端设备的显示屏当前处于灭屏状态,则该处理器可以丢弃定位信息,例如不为终端设备中的一个或多个应用程序提供定位服务。
作为一个可选实施例,S430,若该终端设备当前满足下列条件中的任意一种:显示屏处于灭屏状态、终端设备的运动状态为静止状态、显示屏处于灭屏状态且终端设备的运动状态为静止状态,该处理器丢弃该定位信息,包括:
若终端设备当前满足下列条件中的任意一种:显示屏处于灭屏状态的时长达到第一阈值、终端设备处于静止状态的时长达到第二阈值、显示屏处于灭屏状态的时长达到第三阈值且终端设备当前的运动状态为静止状态,该处理器丢弃该定位信息。
其中,该第一阈值、该第一阈值或该第三阈值可以预先定义或者由用户设置,本发明实施例对此不做限定。
作为另一个可选实施例,该方法400还包括:如果该终端设备当前的运动状态为移动状态和/或该终端设备的显示屏当前处于亮屏状态,该处理器发送该定位信息。
可选地,如果该终端设备当前的运动状态为移动状态和/或该终端设备的显示屏当前处于亮屏状态,该处理器发送该定位信息,包括:如果该终端设备当前的运动状态为移动状态和/或该终端设备的显示屏当前处于亮屏状态,该处理器根据第一应用程序的当前状态,确定是否发送该定位信息。
可选地,该终端设备还包括用于获取终端设备当前的定位数据的定位芯片。
作为一个可选实施例,S410,该处理器接收定位信息,包括:该处理器接收该第一应用程序发送的定位请求;
S430,该处理器丢弃该定位信息,包括:该处理器禁止向定位芯片发送该定位请求。此时,该处理器不向定位芯片发送该定位请求。
可选地,如果该定位信息包括该第一应用程序的定位请求,该处理器发送该定位信息包括:该处理器向定位芯片发送该第一应用程序的定位请求。
作为另一个可选实施例,S410,该处理器接收定位信息,包括:该处理器接收该定位芯片发送的该终端设备当前的定位数据;
S430,该处理器丢弃该定位信息,包括:该处理器禁止向该第一应用程序发送该终端设备当前的定位数据。此时,该处理器不向该终端设备中请求了定位服务的一个或多个应用程序发送该终端设备当前的定位数据。
可选地,如果该定位信息包括定位数据,该处理器发送该定位信息包括:该处理器向该第一应用程序发送该定位数据。
本发明实施例的方法400的各个步骤和具体实现可以参照上述装置实施例中的相应描述,为避免重复,在此不再赘述。
因此,根据本发明实施例的定位信息处理方法,当处理器确定终端设备的显示屏当前处于灭屏状态和/或终端设备当前处于静止状态时,丢弃接收到的定位信息,能够实现对终端设备内定位服务造成功耗的主动控制,降低终端设备的功耗,提高终端设备的续航时间,提高用户体验。
下面将结合具体例子对本发明实施例提供的定位信息处理方法做更详细的说明。图6示出了本发明另一实施例的提供的定位信息处理方法500。
S510,通过查询定位服务请求应用列表和定位服务冷冻应用列表,确定当前是否需要定位。
该定位服务请求应用列表包括请求定位服务的至少一个应用程序,该定位服务冷冻应用列表包括被禁止使用定位服务的至少一个应用程序。该处理器可以通过查询定位服务请求应用列表,确定当前是否存在请求定位服务的
至少一个应用程序。如果该定位服务请求应用列表中包括一个或多个应用程序,则该处理器可以通过查询定位服务冷冻应用列表,确定该定位服务请求应用列表中的应用程序是否被禁止使用定位服务,进而确定该定位服务请求应用列表中是否存在被允许使用定位服务的应用程序。如果存在,则该处理器可以确定当前需要进行定位;否则,则该处理器可以确定当前不需要进行定位。
可选地,该处理器可以周期性地执行S510,也可以触发性地执行S510,例如,当定位服务请求应用列表和/或定位服务冷冻应用列表发生变更时,执行S510,但本发明实施例不限于此。
S520,确定定位芯片当前是否处于定位状态。
可选地,如果该处理器确定当前需要进行定位,并且定位芯片当前处于定位状态,或者如果该处理器确定当前不需要进行定位,并且定位芯片当前不处于定位状态,则可以维持当前状态;如果该处理器确定当前需要进行定位,并且定位芯片当前不处于定位状态,则该方法进行至S530;如果该处理器确定当前不需要进行定位,并且定位芯片当前处于定位状态,则该方法进行至S540。
S530,向定位芯片发送第一指示信息,该第一指示信息用于指示该定位芯片进行定位。
S540,向定位芯片发送第二指示信息,该第二指示信息用于指示该定位芯片停止定位。
该处理器通过向该定位芯片发送指令,以指示定位芯片恢复定位或停止定位。
应注意,图6的这个例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图6的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明实施例还提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述方法的指令。
应理解,为了简洁,本文对于实施例的描述着重于强调各个实施例的不同之处。因此,除非文中明确说明或者可以从上下文看出,本文各个实施例之间可以相互参考。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作
为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。