CN111918386A - 定位方法、装置、存储介质及电子设备 - Google Patents

定位方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN111918386A
CN111918386A CN202010632233.9A CN202010632233A CN111918386A CN 111918386 A CN111918386 A CN 111918386A CN 202010632233 A CN202010632233 A CN 202010632233A CN 111918386 A CN111918386 A CN 111918386A
Authority
CN
China
Prior art keywords
application
positioning
target
positioning mode
target application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010632233.9A
Other languages
English (en)
Other versions
CN111918386B (zh
Inventor
周敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010632233.9A priority Critical patent/CN111918386B/zh
Publication of CN111918386A publication Critical patent/CN111918386A/zh
Application granted granted Critical
Publication of CN111918386B publication Critical patent/CN111918386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本申请实施例公开了一种定位方法、装置、存储介质及电子设备,其中,方法包括:确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。采用本申请实施例,可以降低定位过程中的功耗,提高终端的续航能力。

Description

定位方法、装置、存储介质及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种定位方法、装置、存储介质及电子设备。
背景技术
随着通信技术的快速发展和人们生活水平的日益提高,智能手机、平板电脑等终端已经成为人们生活中必不可少的一部分。在日常使用中,用户会在终端中安装各种各样的应用(Application,APP),例如,购物应用程序、天气应用程序、导航应用程序等等。通常,这些应用程序会涉及到需要获取用户当前的位置信息,以为用户提供更好的服务。
基于位置服务(Location Based Service,LBS)的应用程序,一般是通过全球导航卫星系统(Global Navigation Satellite System,GNSS)、网络定位方式(如利用基站或无线路由器进行定位)、或蓝牙定位方式等主动定位方式进行定位的。也有采用被动定位方式进行定位的。其中,基于主动定位方式发起定位请求的应用无需借助其他应用获取位置信息;基于被动定位方式发起定位请求的应用需要借助其他应用,在其他应用采用主动定位方式获取到终端的位置信息时,才能获取到终端的位置信息。
发明内容
本申请实施例提供了一种定位方法、装置、存储介质及电子设备,可以降低定位过程中的功耗,提高终端的续航能力。本申请实施例的技术方案如下:
第一方面,本申请实施例提供了一种定位方法,所述方法包括:
确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式;
获取参考应用采用所述主动定位方式定位到的参考位置信息;
将所述参考位置信息确定为所述目标应用定位到的位置信息。
第二方面,本申请实施例提供了一种定位装置,所述装置包括:
定位方式切换模块,用于确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式;
参考位置获取模块,用于获取参考应用采用所述主动定位方式定位到的参考位置信息;
位置信息确定模块,用于将所述参考位置信息确定为所述目标应用定位到的位置信息。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。通过在确定发起主动定位方式的目标应用为目标类型应用时,可以将该类位置时效性要求不高的目标类型应用的定位方式自动切换为功耗低的被动定位方式,从而可以降低应用定位过程中的功耗,提高终端的续航能力,以及节省目标应用采用主动定位方式定位时的计算资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种定位方法的流程示意图;
图2是本申请实施例提供的另一种定位方法的流程示意图;
图3是本申请实施例提供的另一种定位方法的流程示意图;
图4是本申请实施例提供的另一种定位方法的流程示意图;
图5是本申请实施例提供的定位方法所涉及的一种位置共享界面的场景示意图;
图6是本申请实施例提供的定位方法所涉及的一种视频推荐界面的场景示意图;
图7是本申请实施例提供的一种定位装置的结构示意图;
图8是本申请实施例提供的一种定位方式切换模块的结构示意图;
图9是本申请实施例提供的一种目标类型应用确定单元的结构示意图;
图10是本申请实施例提供的一种参考位置获取模块的结构示意图;
图11是本申请实施例提供的一种参考位置信息获取单元的结构示意图;
图12是本申请实施例提供的一种电子设备的结构示意图;
图13是本申请实施例提供的操作系统和用户空间的结构示意图;
图14是图12中安卓操作系统的架构图;
图15是图12中IOS操作系统的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在相关技术中,应用请求位置服务时所采用的定位方式(如主动定位方式)、在应用开发时已经确定,对于终端而言,应用开发时通常没有统一的规范,开发时也难以从终端功耗的维度去开发。
一方面,在一个或多个应用基于主动定位方式(如GNSS定位方式、网络定位方式)发起定位请求,且位置获取实时性要求不高的情况下,或,一个或多个应用频繁基于主动定位方式发起定位请求,且位置获取实时性要求不高的情况下,终端在响应定位请求获取当前位置信息时,就会带来电量的额外消耗,从而造成定位过程中终端的功耗较高,同时也会占用终端的资源。
另一方面,在一个或多个应用基于被动定位方式发起定位请求的情况下,终端当前运行的其他应用可能在很长一段时间内没有应用基于主动定位方式发起定位请求,此时,终端就需要等待较长的时间,直至终端上已开启或正在运行的采用主动定位方式发起定位请求时,才能基于被动定位方式获取到其他应用定位到的参考位置信息,从而造成定位过程中定位效率较低的问题。
下面结合具体的实施例对本申请进行详细说明。
在一个实施例中,如图1所示,特提出了一种定位方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的定位装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的定位装置可以为终端,
终端可以是具有定位功能的电子设备,该电子设备包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digitalassistant,PDA)、5G网络或未来演进网络中的终端设备等。
具体的,该定位方法包括:
步骤S101:确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式。
所述目标应用可以理解为当前终端上发起定位请求的应用,在实际应用中,目标应用在调用或使用位置服务时通过发起定位请求,请求终端获取位置信息,终端在确定目标应用发起位置请求之后,对位置请求进行响应,使用位置请求对应的定位方式(如主动定位方式)获取当前位置信息。
其中,所述定位方式至少包括主动定位方式和被动定位方式,所述主动定位方式可以理解为发起主动定位方式对应定位请求的应用无需借助其他应用获取位置信息。可以理解为,当终端检测到某一应用发起的定位请求为主动定位方式,终端可以对定位请求直接进行响应(即无需等待其他应用发起位置请求),采用主动定位方式获取当前的位置信息。
所述主动定位方式可以理解为终端直接采用位置获取技术(如卫星定位技术、网络基站定位技术)对当前终端所处的位置进行定位,以获取到终端当前的位置信息。
所述被动定位方式,即PASSIVE_PROVIDER,当“某一应用”发起的定位请求为被动定位方式时,“某一应用”需要借助于其他应用的辅助获取终端的位置信息。实际应用中,当终端上的其他应用使用主动定位方式(如网络定位、卫星定位方式)成功获取到位置信息,终端会保存并向“某一应用”发送所述位置信息。
在实际实现中,当“某一应用”发起被动定位方式对应的定位请求,获取终端的位置信息,终端通常会创建“某一应用”的位置监听服务,开启位置监听服务,然后就等待其他应用或服务基于主动定位方式(如网络定位、卫星定位方式)主动发出位置请求,此时,“某一应用”就可以和基于主动定位方式主动发起定位请求的组件(如其他应用、应用服务等)同时接收更新。一般来说。基于被动定位的方式发起定位请求的应用依赖于其他应用,需要其他应用主动请求位置,才能接收到终端的位置更新。从终端功耗的角度而言,应用基于被动定位方式发起定位请求相对于主动定位方式更节省功耗。
在相关技术中,应用请求位置服务时所对应的定位方式(如主动定位方式)、定位频率等定位参数在应用开发时已经确定,对于终端而言,应用开发时通常没有统一的规范,开发时难以从终端功耗的维度去开发。一方面会造成终端在响应这些应用基于主动定位方式发起的定位请求时,带来电量的额外消耗,如某些应用的定位请求通常位置获取实时性要求不高、而却频繁基于主动定位方式发起请求,就会带来终端电量的额外消耗,另一方面,当某些应用在某一段时间基于主动定位方式频繁请求位置信息,且请求位置信息实时性要求不高时,终端需要频繁对这些请求进行响应,占用终端的资源。
其中,所述目标应用为终端上存在(如已安装、已开启)的应用程序,所述应用程序可以是终端操作系统本身自带的应用,可以是第三方应用,所述第三方应用是指由第三方开发、非终端操作系统本身自带的应用,包括一些由第三方开发的应用、小程序、插件等。在本实施例中所述第三方应用可以理解为终端的操作系统预置系统应用以外的应用,如电子邮件、即时通讯、电子商务等应用程序。
所述目标类型应用可以理解为终端当前确定的对于位置实效性要求不高的一类应用,如终端可以将当前确定的对于位置实效性要求不高的一类应用作为A类应用,将当前确定的对于位置实效性要求较高的一类应用作为B类应用。目标类型应用基于预先设置的目标类型应用对应的评判规则确定。
如评判规则可以是,根据发起定位请求的应用所对应的应用界面此时是否在终端前台运行,即该应用是否为前台应用,一般来说当应用在后台运行可以认为应用获取位置信息时,位置实效性要求相对不高,此时可以将该应用作为目标类型应用。
如评判规则可以是,根据发起定位请求的应用所对应的请求释放时间确定,当应用的请求释放时间较短时(如小于某一设置的阈值),可以认为应用获取位置信息时,位置实效性要求相对不高。在实际应用中,应用获取位置信息时,位置实效性要求较高时,定位请求的请求释放时间通常较长,如目标应用,目标应用在发起定位请求之后,通常会在一段时间内实时获取所处的位置信息,目标应用对应的导航功能结束时,释放定位请求,此时请求释放时间通常较长。
如评判规则可以是,根据发起定位请求的应用所对应的定位精度、定位频率等定位参数确定,如当定位精度较高(大于某一设置的阈值)时,可以认为应用获取位置信息时,位置实效性要求相对较高,又如当定位频率(如小于某一设置的阈值)较低时,可以认为应用获取位置信息时,位置实效性要求相对不高。
具体的,终端运行有至少一个应用,终端可以支持各应用提供位置服务,如支持目标应用提供位置导航服务、当各应用中的目标应用需要基于位置服务向用户提供相应的应用功能时,如提供应用导航功能、外卖功能、基于位置信息的商品推荐推荐功能、基于位置信息的购票功能等等,此时,目标应用会在终端上发起定位请求,以获取当前的位置信息。实际应用中,目标应用在终端上发起定位请求可以是通过调用LocationManager系统服务,通过LocationManager系统服务提供的相关函数调用方法可以触发与位置相关的业务服务,比如查询上一个历史位置,定期更新设备的地理位置,或者当设备进入给定地理位置附近时,触发应用的指定意图(如指定功能)等。
具体的,终端可以在目标应用发起定位请求后,对定位请求对应的定位方式进行判别,以及对目标应用的类型进行判别。根据判别结果确定目标应用请求位置信息的实时性,如确定目标应用请求位置信息的实时性较高,或较低。具体为,终端判断所述目标应用发起定位请求的定位方式是否为主动定位方式以及目标应用是否为目标类型应用。
具体的,目标应用发起定位请求时,定位请求通常包含定位方式标识,所述定位方式标识用于表征目标应用当前发起的定位请求的定位方式类型,如主动定位方式或被动定位方式。可以理解的是,终端可以基于目标应用发起的定位请求,获取定位请求包含的定位方式标识来确定目标应用的定位方式类型。
所述定位方式标识可以理解为用于表征目标应用所采用的定位方式类型的指示信息,通常所述定位方式标识可以是表示定位方式的id,例如1、2、3等表示id的数字;可以是表示定位方式的关键字符,例如a,b,c等;可以是表示定位方式的关键字符串,例如pth_a,pth_b,pth_c;等等。在本申请实施例中,目标应用需要基于位置服务向用户提供相应的应用功能时,会基于应用功能对应的定位方式发起定位请求,定位请求包含定位方式类型。通过向终端的操作系统发起包含定位方式类型的定位请求,终端的操作系统可以通过基于定位请求对应的定位方式标识进行识别,得到所述定位方式标识指示的定位方式类型。可以理解的是,当目标应用发起的定位请求的定位方式为主动定位方式时,终端的操作系统可以基于定位请求所包含的定位方式标识来确定该定位请求的定位方式为主动定位方式;同时,终端可以根据评判规判断目标应用是否为目标类型应用。
在一种具体的实施场景中,终端根据评判规判断目标应用是否为目标类型应用的方式可以是:终端在目标应用发起所述定位请求后,获取定位参数,根据定位参数来确定与目标类型对应的定位阈值是否匹配,通常所述定位参数与所述定位请求相关联,可以理解的是终端上的目标应用发起定位请求后,所述定位请求会对应相应的定位参数,定位请求的定位参数在目标应用开发时可以随之确定。在定位参数与目标类型对应的定位阈值相匹配时,确定所述目标应用为目标类型应用,如确定目标应用为A类应用。
所述定位参数包括定位精度、定位请求周期、定位间隔、定位次数、定位时间中的至少一种;
其中,一种终端获取定位参数的方式可以是:目标应用发起的定位请求中携带相应的定位参数信息,如定位精度、定位请求周期、定位间隔等等,基于定位参数信息终端可以获取到定位请求对应的定位参数;一种终端获取定位参数的方式可以是:终端可以通过LocationManager系统服务来监测定位请求发起时参数传递及调用函数情况,通过监测LocationManager系统服务提供的相关函数调用方法的调用情况,终端可以获取到定位请求发起后包含参数传递及调用函数的参数信息,对参数信息进行解析,终端可以获取到参数信息所对应的定位参数。
具体的,终端可以预先针对不同类型的定位参数分别设置阈值,定位参数数量基于实际应用环境确定。
具体的,目标类型对应的定位阈值可以是针对至少一个定位参数设置,一种是对各定位参数分别设置定位阈值(如预设的参数范围),当一个或多个定位参数落入到各自对应的参数范围内时,如定位精度落入目标类型对应的精度范围、定位间隔(如10s)落入目标类型对应的定位间隔范围,终端确定所述定位参数与目标类型对应的定位阈值相匹配;一种是对各定位参数分别设置定位阈值(如预设的一个门限值),当一个或多个定位参数达到各自的参数门限值时,如,定位精度达到目标类型对应的精度门限值、定位间隔(如10s)达到目标类型对应的定位间隔门限值,终端确定所述定位参数与目标类型对应的定位阈值相匹配;其中,定位参数达到参数阈值可以理解为:定位参数大于或等于参数阈值时,终端确定所述定位参数与目标类型对应的定位阈值相匹配;或,定位参数小于或等于参数阈值时,终端确定所述定位参数与目标类型对应的定位阈值相匹配。具体根据定位参数所表征的参数评判指标而定,如定位参数中的定位精度,当定位精度小于定位精度阈值时,认为目标应用发起的定位请求位置实效性要求相对不高,此时可以将该应用作为目标类型应用。又如定位参数中的定位请求周期,当定位请求周期大于请求周期阈值时,认为目标应用发起的定位请求位置实效性要求相对不高,此时可以将该应用作为目标类型应用,等等。
可选的,终端可以获取定位请求对应的多个定位参数,根据各所述定位参数计算定位质量分;基于定位质量分与预先设置的分数阈值(即定位阈值)来评判所述定位参数与目标类型对应的定位阈值是否匹配,进而确定所述目标应用是否为目标类型应用,具体为:
其中,终端设置有分数阈值(即定位阈值),所述定位阈值通常在实际应用环境中,采集大量定位参数样本数据运用统计学方法得到。
1、当计算得到的所述定位质量分小于或等于定位阈值时,终端可以确定所述目标应用为目标类型应用,如当前定位请求位置实效性要求相对不高的A类应用;
2、当计算得到的所述定位质量分大于定位阈值时,终端可以确定所述目标应用为非目标类型应用,如当前定位请求位置实效性要求相对较高的B类应用;
其中,一种计算方法可以是对各不同类型的定位参数设置不同或相同的权重值,基于各定位参数以及所述权重值进行加权计算,可以得到当前定位质量分;
其中,一种计算方法可以是对各不同类型的定位参数设置参考参数特征(如参考指示值、参考指示范围、参考指示距离等),将至少一个网络通信参数中各定位参数与其对应的参数特征计算差异特征信息(如差异参数值),根据差异特征信息进行评分,根据差异特征信息进行评分时,可以是设置评分等级,例如设置三个等级:等级A>等级B>等级C,如:计算定位参数A1与参考指示值A的差异参数值a,当差异参数值a达到等级B对应的数值时,此时即将等级B对应的分数作为当前定位质量分。
其中,一种计算方法可以是终端可以将获取到的各项定位参数输入至训练好的评分确定模型中,输出定位质量分。其中,通过获取实际应用环境中包含多个定位参数的样本数据,提取特征信息,并对所述样本数据对应的分值进行标注,所述特征信息包含至少一个定位参数(定位间隔、定位周期、定位精度等),创建评分确定模型。所述评分确定模型可以是使用大量的样本训练出来的,如评分确定模型可以是基于卷积神经网络(ConvolutionalNeural Network,CNN)模型,深度神经网络(DeepNeuralNetwork,DNN)模型、循环神经网络(RecurrentNeuralNetworks,RNN)、模型、嵌入(embedding)模型、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)模型、逻辑回归(LogisticRegression,LR)模型中的至少一种实现的,基于已经标注分值的样本数据对评分确定模型进行训练,可以得到训练好的评分确定模型。
进一步的,当终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用之后,终端可以将目标应用所请求的所述定位方式从所述主动定位方式切换为被动定位方式,如,目标应用请求卫星定位方式,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用之后,将目标应用所请求的所述定位方式从所述卫星定位方式切换为被动定位方式,实际实现中,终端确定目标应用为目标类型应用之后,对目标应用发起的主动定位方式不响应,如网络定位方式、卫星定位方式,终端通常会创建目标应用的位置监听服务,开启位置监听服务,然后就等待其他应用或服务基于主动定位方式(如网络定位、卫星定位方式)主动发出位置请求,此时,目标应用就可以和基于主动定位方式主动发起定位请求的组件(如其他应用、应用服务等)同时接收更新。
步骤S102:获取参考应用采用所述主动定位方式定位到的参考位置信息。
所述参考应用可以理解为终端在确定目标应用为目标类型应用后,需要借助于或依赖于参考应用获取当前的位置信息。所述参考应用可以是后台运行的应用,且参考应用以主动定位方式发起定位请求的应用。在实际应用中,所述参考应用一些由第三方开发或终端操作系统自带的应用、小程序、插件、服务等。
其中,终端上参考应用采用所述主动定位方式可以理解为终端直接采用位置获取技术对当前终端所处的位置进行定位,以获取到终端当前的位置信息。
其中,所述位置获取技术包括但不限于:无线定位技术、短距离连接技术、传感器技术、位置图像处理技术等等,其中:
无线定位技术包括但不限于:卫星定位技术、网络定位方式(如基于基站或Wi-Fi的定位方式)、红外线室内定位技术、超声波定位技术、蓝牙技术、射频识别技术、超宽带技术、ZigBee技术等;
传感器技术是利用接近传感器等可感知位置的传感器实现对终端位置的判定;
图像处理技术是利用对摄像头拍摄的位置图像进行预想处理来获取位置信息等。
终端将目标应用的定位方式从主动定位方式切换至被动方式后,创建目标应用的位置监听服务,并为所述位置监听服务分配终端所包含的资源池中的计算资源,基于所述计算资源开启并运行位置监听服务,然后就等待参考应用基于主动定位方式(如网络定位、卫星定位方式)主动发出位置请求,此时,目标应用就可以和基于主动定位方式主动发起定位请求的参考应用同时接收终端分发的位置更新,即获取到参考应用采用所述主动定位方式定位到的参考位置信息。一般来说。基于被动定位的方式发起定位的应用依赖于其他应用,需要其他应用主动请求位置,才能接收到终端的位置更新。从终端功耗的角度而言,应用基于被动定位方式发起定位请求相对于主动定位方式更节省功耗。
步骤S103:将所述参考位置信息确定为所述目标应用定位到的位置信息。
具体的,终端获取参考应用采用所述主动定位方式定位到的参考位置信息之后,就可以将所述参考位置信息作为所述目标应用定位到的位置信息,从而终端支持目标应用基于位置服务向用户提供相应的应用功能,如提供应用导航功能、外卖功能、基于位置信息的商品推荐推荐功能、基于位置信息的购票功能等等。
其中,所述参考位置信息、位置信息是指所在的位置、所占的地方或所处的方位,在实际应用中,所述参考位置信息、位置信息通常可以是以经纬度、坐标、方向、方位等形式表征所述终端所在的位置、所占的地方或所处的方位,即所述终端的位置信息。
在本申请实施例中,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。通过在确定发起主动定位方式的目标应用为目标类型应用时,可以将该类位置时效性要求不高的目标类型应用的定位方式自动切换为功耗低的被动定位方式,从而可以降低应用定位过程中的功耗,提高终端的续航能力,以及节省目标应用采用主动定位方式定位时的计算资源。
请参见图2,图2是本申请提出的一种定位方法的另一种实施例的流程示意图。具体的:
步骤S201:确定目标应用发起定位请求的定位方式为主动定位方式时,判断所述目标应用是否属于前台应用。
所述前台应用可以理解为应用以窗口(或界面)的形式展现在终端当前的显示界面上,并可以和终端上的用户进行交互的应用,与前台应用相对应的是后台应用,后台应用在资源管理器里运行,但是一般没有界面,但占用终端的系统资源。从用户是否对应用进行操作的维度来区别,前台应用为终端当前运行的用户正在操作的应用程序,而后台应用为开启了以后没有使用但仍在运行的应用程序。
在本申请实施例中,终端安装的所有应用,每个应用具有唯一的应用标识。例如,每个应用将其应用ID作为应用标识。其中,当终端处于运行状态时,终端激活的应用(已运行应用)包括前台应用和后台应用。且在终端处于运行状态时,终端的前台应用仅一个,后台应用可以是一个或多个。
具体的,终端可以在目标应用发起定位请求后,对定位请求对应的定位方式进行判别,在确定目标应用发起定位请求的定位方式为主动定位方式之后,然后判断所述目标应用是否属于前台应用,根据发起定位请求的应用所对应的应用界面此时是否在终端前台运行,即该应用是否为前台应用,一般来说当应用在后台运行可以认为应用获取位置信息时,位置实效性要求相对不高,终端可以将“目标应用是否属于前台应用”作为判定目标应用为目标类型应用的判决条件之一。
具体实施中,当目标应用在终端上通过调用LocationManager系统服务发起定位请求时,终端可以监测LocationManager系统服务提供的相关函数调用方法的调用信息,基于调用信息中的函数参数值可以获取到目标应用的应用标识,所述应用标识用于唯一表征目标应用。或,终端可以基于定位请求携带的应用信息确定目标应用的应用标识。
具体的,终端获取操作系统前台正在运行的前台应用,具体为终端可以获取前台应用的应用标识,然后判断前台应用的应用标识与目标应用的应用标识是否一致。
其中,以下以终端的操作系统为安卓系统为例,终端获取前台应用的应用标识一种方式可以是通过终端的Activity栈中获取当前堆栈顶层的activity,并确定终端当前堆栈顶层的activity的activity属性。其中,activity属性,是指包含的activity信息、activity状态,activity状态包括:活动状态或者运行状态、暂停状态、停止状态、以及结束或终止状态。当终端的当前堆栈顶层的activity活动状态或者运行状态时,从activity信息中就可以确定终端当前运行的前台应用的应用标识;终端获取前台应用的应用标识一种方式可以是:通过使用量统计功能获取前台应用的应用标识,终端的操作系统提供usagestatistics API,通过usage statistics API接口统计应用使用情况的,包含了每个应用最近一次被使用的时间。终端只需确定距离当前时间最短时间间隔指示的应用即可,该应用就是当前在前台运行的前台应用。
步骤S202:当所述目标应用属于所述前台应用时,采用所述定位请求对应的所述主动定位方式获取当前的位置信息。
当所述目标应用属于所述前台应用时,一般来说当应用在前台运行可以认为应用获取位置信息时,位置实效性要求相对较高,此时可以将该应用作为非目标类型应用,如位置实效性要求相对较高的B类应用。然后终端可以对非目标类型应用的定位请求直接进行响应(即无需等待其他应用发起位置请求),采用主动定位方式获取当前的位置信息,如当非目标类型应用基于卫星定位方式或网络定位方式发起定位请求时,终端直接对定位请求直接进行响应,采用定位请求对应的主动定位方式(卫星定位方式或网络定位方式)获取当前的位置信息。
步骤S203:当所述目标应用不属于所述前台应用时,确定采用所述主动定位方式的指定应用,将所述指定应用确定为参考应用。
所述指定应用可以理解为终端为了避免目标应用在很长一段时间内获取不到位置信息,而进行维护处理的一个或多个指定应用。
其中,一种维护处理方式可以是终端对所述指定应用进行保活,以使所述指定应用常驻后台,不会在应用进程清理时清理掉;一种维护处理方式可以是终端控制所述指定应用以低功耗的方式运行,如固定一个唤醒周期,在唤醒周期指示的周期时间内每隔一个唤醒周期启动一次,并以所述主动定位方式发起定位请求获取当前的参考位置信息;一种维护处理方式可以是终端在检测到目标应用的定位方式为被动定位方式,终端可以唤醒预先指定的一个或多个指定应用,控制指定应用以所述主动定位方式发起定位请求获取当前的参考位置信息,可以理解的是,在未检测到目标应用的定位方式为被动定位方式之前,指定应用可以不在终端的后台运行,以节省功耗。
具体的,当所述目标应用不属于所述前台应用时,一般来说当应用在后台运行可以认为应用获取位置信息时,位置实效性要求相对不高,终端可以在目标应用不属于所述前台应用,如目标应用属于在后台运行时的后台应用,确定目标应用为目标类型应用,并可以确定采用所述主动定位方式的指定应用,将所述指定应用确定为参考应用;具体为可以通过预先存储有指定应用的信息至本地存储空间中,终端可以在本地存储空间中获取到指定应用,并确定采用所述主动定位方式的指定应用,然后终端可以将所述指定应用确定为参考应用,进一步获取所述参考应用定位到的参考位置信息。
在一种可行的实施方式中,为了避免根据“应用是否在前台运行”产生的误判断,如一些运行在后台的应用可能是导航应用、定位应用等位置实效性要求高的一类应用,这类应用会存在运行时,由于用户的操作被切换至后台运行,终端可以预先设置白名单,终端可以基于预设的白名单进行二次判决,来检测所述目标应用是否属于白名单中的应用。具体如下:
当所述目标应用不属于所述前台应用时,然后终端可以检测所述目标应用是否属于白名单中的应用,可以理解的是,终端可以预先设置白名单,终端可以基于预设的白名单进行二次判决,来检测所述目标应用是否属于白名单中的应用。在本申请实施例中,可以预先将位置实效性要求高的一类应用加入白名单中,如提供实时导航功能的导航应用、提供位置共享功能的位置共享应用、提供地图服务的地图应用等等。当所述目标应用不属于所述白名单中的应用时,此时可以确定所述目标应用为目标类型应用,然后可以执行所述确定采用所述主动定位方式的指定应用,将所述指定应用确定为参考应用的步骤。
步骤S204:采用所述主动定位方式获取当前的位置信息,将所述位置信息作为所述目标应用定位到的位置信息。
所述状态信息用于评估终端的当前状态,以确定所述参考应用采用主动定位方式的定位周期(或定位频率),在本申请实施例中,终端可以获取当前的状态信息来确定参考应用一个合适的定位周期,并基于定位周期内定位到的参考位置信息,便于采用被动定位方式的目标应用将参考位置信息作为定位到的位置信息,同时,基于一个合适的定位周期可以节省终端的定位功耗。需要说明的是,通过设置采用主动定位方式的指定应用,便于终端在确定目标应用为目标类型应用时,在较短的时间内(最多一个定位周期内)快速获取到指定应用定位到的参考位置信息,而避免目标应用在很长一段时间内获取不到位置信息。
其中,所述当前的状态信息可以是终端的剩余电量、无线局域网的信号质量、定位服务功能的信号质量、终端后台应用数量、后台应用的耗电量等至少一种或多种状态信息对应的状态参数的拟合,此处不作具体限定。
具体的,终端获取当前的状态信息可以是周期性(如30分钟依次)进行的,可以是实时进行的。
一种确定定位周期的方式可以是:终端可以预先设置有状态信息所对应的状态参数与定位周期的映射关系,如映射关系可以是基于状态参数与定位周期的线性表,终端预先通过获取大量的包含终端状态信息的样本数据,对样本数据采用概率学方法确定的一个状态参数与定位周期的线性表,终端在获取到当前的状态信息之后,基于状态信息对应的状态参数在所述线性表中确定相匹配的参考定位周期,然后将参考定位周期确定所述参考应用对应的定位周期;
一种确定定位周期的方式可以是:针对一种或多种类型的状态信息对应的状态参数设置对应的加权因子(加权因子可以为负数),对各状态参数与所述状态参数对应加权因子的进行加权求和运算,得到加权求和后的数值,然后将所述数值作为所述参考应用对应的定位周期。
一种确定定位周期的方式可以是:针对一种或多种类型的状态信息对应的状态参数分别设置对应的基准值,基于状态参数确定基准系数,如将状态参数与状态参数对应的基准值的比值作为基准系数,又如设置多个系数,每个系数对应一个数值范围,根据状态参数确定落入的数值范围,进而确定对应的系数即基准系数,将基准系数与基准值的乘积的数值(当状态参数为多个时,即计算多个基准系数与基准值的乘积和的数值)作为参考应用的定位周期。
在一种具体的实施场景中,终端将状态信息(如剩余电量、无线局域网的信号质量、定位服务功能的信号质量、终端后台应用数量等等)输入至预先训练好的周期确定模型中,输出参考应用的定位周期。
其中,通过预先获取大量样本数据,提取特征信息,并对所述样本数据进行标注,所述特征信息包含剩余电量、无线局域网的信号质量、定位服务功能的信号质量、终端后台应用数量等参数中的至少一个参数,创建初始的周期确定模型。所述周期确定模型可以是使用大量的样本数据对初始的周期确定模型进行训练的,如周期确定模型可以是基于LR(Logistic Regression,逻辑回归模型)、SVM(Support Vector Machine,支持向量机)、决策树、朴素贝叶斯分类器、CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Networks,递归神经网络)等中的一种或多种实现,基于已经标注周期值的样本数据对初始的周期确定模型进行训练,可以得到训练好的周期确定模型。
更进一步的,本实施例中采用引入误差反向传播算法的DNN-HMM模型创建初始的阈值优化模型,提取特征信息之后,将特征信息以特征向量的形式输入到所述神经网络模型中,所述神经网络模型的训练过程通常由正向传播和反向传播两部分组成,在正向传播过程中,终端输入样本数据对应的特征信息从所述神经网络模型的输入层经过隐层神经元(也称节点)的传递函数(又称激活函数、转换函数)运算后,传向输出层,其中每一层神经元状态影响下一层神经元状态,在输出层计算实际输出值-第一语音标识,计算所述实际输出值与期望输出值的期望误差,基于所述期望误差调整所述神经网络模型的参数,所述参数包含每一层的权重值和阈值,训练完成后,生成周期确定模型。
步骤S205:基于所述定位周期,获取所述参考应用在当前定位周期定位到的参考位置信息。
需要说明的是,终端设置的指定应用的定位方式可以是主动定位方式中的一种或多种的拟合,如,卫星定位技术、网络定位方式(如基于基站或Wi-Fi的定位方式)、红外线室内定位技术、超声波定位技术、蓝牙技术、射频识别技术、超宽带技术、ZigBee技术等。其中,在本申请实施例中,基于终端的功耗考虑,终端可以采用诸如网络定位方式等功耗较低的定位方式作为指定应用的一类优选定位方式。
具体的,终端在基于当前的状态信息确定指定应用的定位周期之后,终端可以基于所述定位周期,获取距离当前时间点最近定位周期内,所述参考应用在当前定位周期定位到的参考位置信息,如,终端确定目标应用为目标类型应用、且确定指定应用的定位周期之后,对目标应用发起的主动定位方式不响应,如网络定位方式、卫星定位方式,终端通常会创建目标应用的位置监听服务,开启位置监听服务,然后就等待指定应用基于主动定位方式(如网络定位方式)主动发出位置请求,此时,目标应用就可以和基于主动定位方式主动发起定位请求的指定应用,在指定应用基于定位周期获取到参考位置信息时,终端上的目标应用可以同步或异步基于位置监听服务获取到参考应用定位到的参考位置信息。
进一步的,当所述目标应用不属于前台应用时,终端可以执行“获取当前采用主动定位方式定位的至少一个应用,将所述至少一个应用中的任一应用确定为参考应用,获取所述参考应用当前定位到的参考位置信息”的步骤,具体可参见下述步骤S303的释义,从而获取参考位置信息。
步骤S206:将所述参考位置信息确定为所述目标应用定位到的位置信息。
具体可参见步骤S103,此处不再赘述。
在本申请实施例中,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。通过在确定发起主动定位方式的目标应用为目标类型应用时,可以将位置时效性要求不高的目标类型应用的定位方式自动切换为功耗低的被动定位方式,从而可以降低应用定位过程中的功耗,提高终端的续航能力,以及节省目标应用采用主动定位方式定位时的计算资源;以及,终端可以从目标应用是否为前台应用的维度、从发起定位请求时的定位参数的维度来判决发起主动定位请求的目标应用是否为目标类型应用,实现了对目标应用的精准判决;以及,在确定目标应用为目标类型应用时,基于预先设置的指定应用以及指定应用的定位周期,将指定应用作为参考应用,可以避免终端当前运行的其他应用可能在很长一段时间内没有应用基于主动定位方式发起定位请求从而获取位置信息的时延较高的问题,提高了定位过程中定位效率。
请参见图3,图3是本申请提出的一种定位方法的另一种实施例的流程示意图。具体的:
步骤S301:确定目标应用发起定位请求的定位方式为主动定位方式时,检测所述目标应用是否属于白名单中的应用。
所述白名单是包括至少一个白名单应用,通常白名单应用可以是终端出厂时默认的,可以是用户在后期使用中对已安装的部分应用程序自定义添加到白名单中的,所述白名单可以理解为获得用户或管理员批准应用的简单清单。在本申请实施例中,可以预先将位置实效性要求高的一类应用加入白名单中,如提供实时导航功能的导航应用、提供位置共享功能的位置共享应用、提供地图服务的地图应用等等。
具体的,终端在确定目标应用发起定位请求的定位方式为主动定位方式时,可以检测所述目标应用是否属于白名单中的应用,来确定目标应用是否为目标类型应用。
具体的,白名单中通常保存有白名单应用对应的应用标识,通过应用标识可以唯一表征该应用程序,终端判断白名单可以是否存在目标应用,可以是通过对目标应用的目标应用标识与白名单中各白名单应用对应的应用标识进行比对,当在白名单中存在于目标应用标识一致的应用标识时,终端即可确定目标应用为白名单中的应用;反之,当在白名单中不存在于目标应用标识一致的应用标识时,终端即可确定目标应用不为白名单中的应用。
其中,上述白名单中的应用,用户可以根据自己的喜好或者实际需要,对白名单中的应用进行设置。具体地,用户可以通过指定的设置界面开启白名单的功能,然后选择进入白名单的设置界面,在白名单的设置界面内,用户可以在包含目前手机中已安装的应用的下拉列表中选中需要加入白名单的应用,点击“添加”,然后点击“确定”,则可将该应用添加至白名单中。用户也可以选中需要从白名单中删除的应用,点击“删除”,然后点击“确定”,则可将该应用从白名单中删除。当然,用户也可以手动输入需要添加或者删除的应用,点击“确定”,则可将该应用添加或者删除。当然,用户也可通过语音功能或者拖动等添加应用到白名单。
步骤S302:当所述目标应用属于所述白名单中的应用时,采用所述主动定位方式获取当前的位置信息,将所述位置信息作为所述目标应用定位到的位置信息。
具体的,当目标应用属于白名单中的应用时,此时,终端可以确定该目标应用为白名单确定的认证程序,此时通常目标应用的请求位置实效性要求高,终端可以对目标应用的位置请求进行响应,使用位置请求对应的定位方式(如主动定位方式)获取当前位置信息,将所述位置信息作为所述目标应用定位到的位置信息。
步骤S303:当所述目标应用不属于所述白名单中的应用时,获取当前采用主动定位方式定位的至少一个应用,将所述至少一个应用中的任一应用确定为参考应用,获取所述参考应用当前定位到的参考位置信息。
当目标应用不属于白名单中的应用时,此时,终端可以确定该目标应用为白名单确实的非认证程序,此时,所述目标应用不为白名单中的应用,可以认为目标应用基于主动获取方式发起的定位请求,获取位置信息时位置实效性要求相对不高,从终端功耗的角度而言,应用基于被动定位方式发起定位请求相对于主动定位方式更节省功耗,终端此时可以对目标应用的定位方式进行切换,即将所述定位方式从所述主动定位方式切换为被动定位方式,实际实现中,终端确定目标应用为目标类型应用之后,对目标应用发起的主动定位方式不响应,如网络定位方式、卫星定位方式,终端通常会创建目标应用的位置监听服务,开启位置监听服务,然后就等待其他应用或服务基于主动定位方式(如网络定位、卫星定位方式)主动发出位置请求,此时,目标应用就可以和基于主动定位方式主动发起定位请求的组件(如其他应用、应用服务等)同时接收更新。
具体的,当所述目标应用不属于所述白名单中的应用时,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用之后,将目标应用所请求的所述定位方式从所述卫星定位方式切换为被动定位方式,实际实现中,终端确定目标应用为目标类型应用之后,对目标应用发起的主动定位方式不响应,如网络定位方式、卫星定位方式,终端通常会创建目标应用的位置监听服务,开启位置监听服务,所述位置监听服务对终端上获取当前已开启的至少一个应用进行位置监听,通常位置监听服务监听的对象是采用主动定位方式定位的应用,可以理解的是终端通过对采用主动定位方式定位的至少一个应用进行位置监听,待所述至少一个应用基于主动定位方式(如网络定位、卫星定位方式)主动发出位置请求时,此时,目标应用就可以和基于主动定位方式主动发起定位请求的应用(一个或多个应用)同时接收位置更新,具体实现中,当基于主动定位方式主动发起定位请求的应用数量为多个时,终端可以从多个应用中确定任一应用为参考应用,然后待参考应用采用主动定位方式获取到终端当前的位置信息,即参考应用当前定位到的参考位置信息。终端上的目标应用可以基于位置监听服务获取到所述参考应用当前定位到的参考位置信息。
其中,终端上的目标应用在创建位置监听服务之后,终端在“获取当前采用主动定位方式定位的至少一个应用”的过程中,终端当前运行的应用可能在一段时间内没有应用主动基于主动定位方式发起定位请求,此时,终端需要等待一段时间,直至终端上已开启或正在运行的参考应用采用主动定位方式发起定位请求时,才能基于被动定位方式获取到参考应用定位到的参考位置信息。
进一步的,当所述目标应用不属于所述白名单中的应用时,终端可以通过执行步骤S203~步骤S205的方法,来获取到所述参考位置信息。
在一种可行的实施方式,为了避免根据“目标应用是否属于所述白名单中的应用”产生的误判断,如一些应用不属于白名单中的应用,但这些应用可能是会存在当前用户正在使用的应用,可以理解的是当前用户正在使用的应用为对位置实效性要求高的一类应用,如某美食推荐应用,所述某美食推荐应用不属于所述白名单中的应用,而当前用户又正在终端的显示界面上使用“某美食推荐应用”,可以理解的是从用户的需求维度,“某美食推荐应用”为对位置实效性要求高的一类应用,此时该“某美食推荐应用”可以作为非目标类型应用,需要采用主动定位方式获取当前的位置信息,进一步的,终端在所述目标应用不属于所述白名单中的应用时,可以基于所述目标应用是否为前台应用,来进行二次判决,具体如下:
终端在所述目标应用不属于所述白名单中的应用时,判断所述目标应用是否为前台应用;
1、当所述目标应用属于前台应用时,一般来说当应用在前台运行可以认为应用获取位置信息时,位置实效性要求相对较高,此时可以将该应用作为非目标类型应用,然后终端可以对非目标类型应用的定位请求直接进行响应(即无需等待其他应用发起位置请求),采用主动定位方式获取当前的位置信息,如当非目标类型应用基于卫星定位方式或网络定位方式发起定位请求时,终端直接对定位请求直接进行响应,采用定位请求对应的主动定位方式(卫星定位方式或网络定位方式)获取当前的位置信息。
2、当所述目标应用不属于所述前台应用时,一般来说当应用在后台运行可以认为应用获取位置信息时,位置实效性要求相对不高,且目标应用也不属于位置实效性要求高的白名单应用,终端可以确定目标应用为目标类型应用,并可以通过执行所述获取当前采用主动定位方式定位的至少一个应用,将所述至少一个应用中的任一应用确定为参考应用,获取所述参考应用当前定位到的参考位置信息的步骤,或,终端可以通过执行步骤S203~步骤S205的方法,来获取到所述参考位置信息。
步骤S304:将所述参考位置信息确定为所述目标应用定位到的位置信息。
具体可参见步骤S103,此处不再赘述。
在本申请实施例中,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。通过在确定发起主动定位方式的目标应用为目标类型应用时,可以将位置时效性要求不高的目标类型应用的定位方式自动切换为功耗低的被动定位方式,从而可以降低应用定位过程中的功耗,提高终端的续航能力,以及节省目标应用采用主动定位方式定位时的计算资源;以及,从目标应用的历史行为信息的维度,来判决发起主动定位请求的目标应用是否为目标类型应用,实现了对目标应用的精准判决;以及,在确定目标应用为目标类型应用时,从采用主动定位方式定位的任一应用中确定参考应用,获取所述参考应用当前定位到的参考位置信息,可以避免终端当前运行的其他应用可能在很长一段时间内没有应用基于主动定位方式发起定位请求从而获取位置信息的时延较高的问题,提高了定位过程中定位效率。
请参见图4,图4是本申请提出的一种定位方法的另一种实施例的流程示意图。具体的:
步骤S401:确定目标应用发起定位请求的定位方式为主动定位方式时,获取所述目标应用的历史行为信息,基于所述历史行为信息确定所述目标应用在获取到历史位置信息后的请求释放时间。
所述历史行为信息可以是对目标应用的链式启动、请求发起及释放、权限调用、敏感行为等类型的应用行为进行记录后的应用行为信息。通常,目标应用历次发起定位请求获取对应的历史位置信息,若目标应用基于应用位置服务完成位置信息的获取后,会在向终端释放定位请求,对定位请求分配的计算资源进行回收,如目标应用的应用位置服务可以是在服务周期(如导航位置服务周期)内每隔一定时间内获取一次位置信息,在服务周期结束后,即完成位置信息的获取后,会在向终端释放定位请求,从而释放终端为该定位请求分配的计算资源。在这个过程中,终端可以对目标应用的历史行为进行记录,如记录目标应用历次服务周期结束后,释放定位请求的请求释放时间、定位次数、定位间隔、定位精度等历史行为。所述历史行为信息可以是以目标应用的行为日志的形式进行记录。
所述请求释放时间可以理解为终端上的目标应用从“发起定位请求后获取到位置信息后对应的时间点”到“目标应用的服务周期结束完成整个位置信息获取所对应的时间点”的时间点。如,发起定位请求后获取到位置信息后对应的时间点为第一时间点,目标应用的服务周期结束完成整个位置信息获取所对应的时间点为第二时间点,则请求释放时间为第一时间点与第二时间点之差。
具体的,终端发起定位请求,获取位置信息,通常是基于终端操作系统所提供的应用程序编程接口(Application Programming Interface,API),终端上的应用通过调用相应的用于获取位置信息的API接口可以获取到位置信息,可以理解的是终端记录目标应用的应用行为信息实际是记录目标应用调用API接口的调用信息,在完成获取历史位置信息后,即释放API接口。相应的,终端可以将目标应用调用API接口的接口调用信息记录在历史行为信息中。可以理解的是,终端在获取到目标应用的历史行为信息后,获取历史行为信息中调用用于获取位置信息的API接口所对应的接口调用信息,对所述接口调用信息进行解析,终端可以获取到目标应用从调用“获取位置信息的API接口”获取到位置信息的时间点到服务周期完成后释放对应的“获取位置信息的API接口”的时间差,即请求释放时间。
具体的,终端上目标应用发起定位请求时,对于终端的操作系统来说,目标应用发起定位请求时,终端为目标应用分配相应的业务线程,发起定位请求时随之建立定位请求相关联的业务线程,其中,所述业务线程是终端搭载的操作系统能够进行目标应用相关业务运算调度的最小单位。通常业务线程与进程相关,业务线程被包含在进程之中,并作为进程中的实际运作单位。其中,一条业务线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个业务线程,每条业务线程并行执行不同的任务。进一步的,终端上的目标应用在运行时会对应一个进程,根据应用程序的业务类型的不同通常会对应不同业务类型的业务线程,目标应用发起定位请求时,终端为目标应用分配相应的业务线程,业务线程建立后,从目标应用获取到位置信息,到位置信息获取完成释放定位请求。在这个过程中,终端可以对定位请求相关联的业务线程的线程运行信息记录到目标应用的历史行为信息中,可以理解的是,终端可以基于历史行为信息进行分析处理,通常业务线程在调用线程方法时(如获取位置信息调用线程的过程)会涉及到参数的调用,对参数进行分析,就可以获取到终端基于业务线程从获取到历史位置信息的时间点到服务周期完成后释放定位请求的时间差,即请求释放时间。其中,定位请求在释放后,通常与定位请求相关联的业务线程即结束运行,终端会回收业务线程运行时分配的计算资源(如内存资源、处理器资源、I/O口资源等等)。
步骤S402:在所述定位请求释放时间小于预设释放时间时,确定所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式。
所述预设释放时间可以理解为针对定位请求释放时间设置的一个时间阈值,在本申请实施例中,所述预设释放时间用于衡量目标应用请求位置的实效性,当定位请求释放时间小于预设释放时间时,可以理解为基于时间维度而言,目标应用对位置信息获取的需求不高,位置获取的实效性相对而言不高,通常目标应用在获取到位置信息之后即可在较短的时间释放位置获取请求,不用实时获取位置信息;当定位请求释放时间大于或等于预设释放时间时,可以理解为基于时间维度而言,目标应用对位置信息获取的需求较高,位置获取的实效性相对而言较高,通常目标应用在获取到位置信息之后即不会在较短的时间释放位置获取请求,可能会需要频繁的获取当前的位置信息,如目标应用为导航应用且开启导航功能的情况下,通常目标应用定位请求释放时间大于预设释放时间。
具体的,终端基于所述历史行为信息确定所述目标应用在获取到历史位置信息后的请求释放时间,然后判断所述定位请求释放时间是否小于预设释放时间:
1、当所述定位请求释放时间大于或等于预设释放时间,可以理解为基于时间维度而言,目标应用对位置信息获取的需求较高,位置获取的实效性相对而言较高,此时,终端可以确定所述目标应用为非目标类型应用,如当前定位请求位置实时性要求相对较高的B类应用。
在一个具体的实施场景中,如图5所示,图5是一种位置共享界面的场景示意图,用户在终端上通过手指触控的方式开启目标应用的位置共享功能,终端在当前显示界面上展示如图5所示位置共享功能所对应的位置共享界面,进一步,在终端上的目标应用开启位置共享功能时,目标应用基于主动定位方式(如网络定位方式)发起定位请求,终端对所述定位请求进行响应,然后获取目标应用的行为日志(即历史行为信息),从而确定所述目标应用在获取到历史位置信息后的请求释放时间,通常对于目标应用的位置共享功能来说,由于需要实时或周期性共享位置,所述定位请求释放时间一般大于或等于预设释放时间,基于时间维度而言,目标应用对位置信息获取的需求较高,终端此时确定目标应用为非目标类型应用。
2、当所述定位请求释放时间小于预设释放时间,可以理解为基于时间维度而言,目标应用对位置信息获取的需求不高,位置获取的实效性相对而言不高,通常目标应用在获取到位置信息之后可能会在较短的时间释放位置获取请求,不用实时获取一个或多个位置信息;此时,终端可以确定所述目标应用为目标类型应用,如当前定位请求位置实时性要求相对不高的A类应用。
进一步的,当终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用之后,终端可以将目标应用所请求的所述定位方式从所述主动定位方式切换为被动定位方式。
在一个具体的实施场景中,如图6所示,图6是一种视频推荐界面的场景示意图,用户在终端上通过手指触控的方式开启某一目标应用的视频推荐功能,终端在当前显示界面上展示如图6所示视频推荐功能所对应的视频推荐界面,可以理解的是,目标应用可以基于终端当前的位置信息,向用户推荐与当前位置信息相匹配的视频,进一步,在终端上的目标应用开启视频推荐功能时,目标应用基于主动定位方式(如网络定位方式)发起定位请求,终端对所述定位请求进行响应,然后获取目标应用的行为日志(即历史行为信息),从而确定所述目标应用在获取到历史位置信息后的请求释放时间,通常对于目标应用的视频推荐功能来说,通常不需要实时或周期性共享位置,所述定位请求释放时间一般小于预设释放时间,即终端历次获取到历史位置信息以后,会在较短的时间内释放定位请求,基于时间维度而言,目标应用对位置信息获取的需求不高,终端此时确定目标应用为目标类型应用,并将目标类型应用的定位方式从主动定位方式切换至被动定位方式。
步骤S403:获取参考应用采用所述主动定位方式定位到的参考位置信息。
具体可参见步骤S102,此处不再赘述。
步骤S404:将所述参考位置信息确定为所述目标应用定位到的位置信息。
具体可参见步骤S103,此处不再赘述。
在本申请实施例中,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。通过在确定发起主动定位方式的目标应用为目标类型应用时,可以将位置时效性要求不高的目标类型应用的定位方式自动切换为功耗低的被动定位方式,从而可以降低应用定位过程中的功耗,提高终端的续航能力,以及节省目标应用采用主动定位方式定位时的计算资源;以及从目标应用的历史行为信息的维度,来判决发起主动定位请求的目标应用是否为目标类型应用,实现了对目标应用的精准判决。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图7,其示出了本申请一个示例性实施例提供的定位装置的结构示意图。该定位装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括定位方式切换模块11、参考位置获取模块12和位置信息确定模块13。
定位方式切换模块11,用于确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式;
参考位置获取模块12,用于获取参考应用采用所述主动定位方式定位到的参考位置信息;
位置信息确定模块13,用于将所述参考位置信息确定为所述目标应用定位到的位置信息。
可选的,如图8所示,所述定位方式切换模块11,包括:
前台应用判断单元111,用于确定目标应用发起定位请求的定位方式为主动定位方式时,判断所述目标应用是否属于前台应用;
目标类型应用确定单元112,用于当所述目标应用不属于所述前台应用时,确定所述目标应用为目标类型应用。
可选的,如图9所示,所述目标类型应用确定单元112,包括:
白名单应用检测子单元1121,用于确定目标应用发起定位请求的定位方式为主动定位方式时,检测所述目标应用是否属于白名单中的应用;
目标类型应用确定子单元1122,用于当所述目标应用不属于所述白名单中的应用时,确定所述目标应用为目标类型应用。
可选的,如图8所示,所述定位方式切换模块11,包括:
定位参数获取单元113,用于确定目标应用发起定位请求的定位方式为主动定位方式时,获取定位参数,所述定位参数包括定位精度、定位请求周期、定位间隔、定位次数、定位时间中的至少一种;
所述目标类型应用确定单元112,用于在所述定位参数与目标类型对应的定位阈值相匹配时,确定所述目标应用为目标类型应用。
可选的,如图8所示,所述定位方式切换模块11,包括:
历史行为信息获取单元114,用于确定目标应用发起定位请求的定位方式为主动定位方式时,获取所述目标应用的历史行为信息,基于所述历史行为信息确定所述目标应用在获取到历史位置信息后的请求释放时间;
所述目标类型应用确定单元112,用于在所述定位请求释放时间大于预设释放时间时,确定所述目标应用为目标类型应用。
可选的,如图10所示,所述参考位置获取模块12,包括:
指定应用确定单元121,用于确定采用所述主动定位方式的指定应用,将所述指定应用确定为参考应用;
参考位置信息获取单元122,用于获取所述参考应用定位到的参考位置信息。
可选的,如图11所示,所述参考位置信息获取单元122,包括:
定位周期确定子单元1221,用于获取终端当前的状态信息,基于所述状态信息确定所述参考应用对应的定位周期;
参考位置信息获取子单元1222,用于基于所述定位周期,获取所述参考应用在当前定位周期定位到的参考位置信息。
可选的,如图10所示,所述参考位置获取模块12,包括:
主动定位应用获取单元123,应用获取当前采用主动定位方式定位的至少一个应用;
所述参考位置信息获取单元122,还用于将所述至少一个应用中的任一应用确定为参考应用,获取所述参考应用当前定位到的参考位置信息。
需要说明的是,上述实施例提供的定位装置在执行定位方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的定位装置与定位方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。通过在确定发起主动定位方式的目标应用为目标类型应用时,可以将位置时效性要求不高的目标类型应用的定位方式自动切换为功耗低的被动定位方式,从而可以降低应用定位过程中的功耗,提高终端的续航能力,以及节省目标应用采用主动定位方式定位时的计算资源;以及,终端可以从目标应用是否为前台应用的维度、从发起定位请求时的定位参数的维度,以及从目标应用的历史行为信息的维度,来判决发起主动定位请求的目标应用是否为目标类型应用,实现了对目标应用的精准判决;以及,在确定目标应用为目标类型应用时,基于预先设置的指定应用以及指定应用的定位周期,将指定应用作为参考应用,可以避免终端当前运行的其他应用可能在很长一段时间内没有应用基于主动定位方式发起定位请求从而获取位置信息的时延较高的问题,提高了定位过程中定位效率。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图6所示实施例的所述定位方法,具体执行过程可以参见图1-图6所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图6所示实施例的所述定位方法,具体执行过程可以参见图1-图6所示实施例的具体说明,在此不进行赘述。
请参考图12,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。
参见图13所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图14所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、定位程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图15所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图14所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图12所示的电子设备中,电子设备可以是一种终端,处理器110可以用于调用存储器120中存储的定位应用程序,并具体执行以下操作:
确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式;
获取参考应用采用所述主动定位方式定位到的参考位置信息;
将所述参考位置信息确定为所述目标应用定位到的位置信息。
在一个实施例中,所述处理器110在执行所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用时,具体执行以下操作:
确定目标应用发起定位请求的定位方式为主动定位方式时,判断所述目标应用是否属于前台应用;
当所述目标应用不属于所述前台应用时,确定所述目标应用为目标类型应用。
在一个实施例中,所述处理器110在执行所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用时,具体执行以下操作:
确定目标应用发起定位请求的定位方式为主动定位方式时,检测所述目标应用是否属于白名单中的应用;
当所述目标应用不属于所述白名单中的应用时,确定所述目标应用为目标类型应用。
在一个实施例中,所述处理器110在执行所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用时,具体执行以下操作:
确定目标应用发起定位请求的定位方式为主动定位方式时,获取定位参数,所述定位参数包括定位精度、定位请求周期、定位间隔、定位次数、定位时间中的至少一种;
在所述定位参数与目标类型对应的定位阈值相匹配时,确定所述目标应用为目标类型应用。
在一个实施例中,所述处理器110在执行所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用时,具体执行以下操作:
确定目标应用发起定位请求的定位方式为主动定位方式时,获取所述目标应用的历史行为信息,基于所述历史行为信息确定所述目标应用在获取到历史位置信息后的请求释放时间;
在所述定位请求释放时间大于预设释放时间时,确定所述目标应用为目标类型应用。
在一个实施例中,所述处理器110在执行所述获取参考应用采用所述主动定位方式定位到的参考位置信息时,具体执行以下操作:
确定采用所述主动定位方式的指定应用,将所述指定应用确定为参考应用;
获取所述参考应用定位到的参考位置信息。
在一个实施例中,所述处理器110在执行所述获取所述参考应用定位到的参考位置信息时,还执行以下操作:
获取终端当前的状态信息,基于所述状态信息确定所述参考应用对应的定位周期;
基于所述定位周期,获取所述参考应用在当前定位周期定位到的参考位置信息。
在一个实施例中,所述处理器110在执行所述获取参考应用采用所述主动定位方式定位到的参考位置信息时,具体执行以下操作:
获取当前采用主动定位方式定位的至少一个应用;
将所述至少一个应用中的任一应用确定为参考应用,获取所述参考应用当前定位到的参考位置信息。
在本申请实施例中,终端确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式,获取参考应用采用所述主动定位方式定位到的参考位置信息,将所述参考位置信息确定为所述目标应用定位到的位置信息。通过在确定发起主动定位方式的目标应用为目标类型应用时,可以将位置时效性要求不高的目标类型应用的定位方式自动切换为功耗低的被动定位方式,从而可以降低应用定位过程中的功耗,提高终端的续航能力,以及节省目标应用采用主动定位方式定位时的计算资源;以及,终端可以从目标应用是否为前台应用的维度、从发起定位请求时的定位参数的维度,以及从目标应用的历史行为信息的维度,来判决发起主动定位请求的目标应用是否为目标类型应用,实现了对目标应用的精准判决;以及,在确定目标应用为目标类型应用时,基于预先设置的指定应用以及指定应用的定位周期,将指定应用作为参考应用,可以避免终端当前运行的其他应用可能在很长一段时间内没有应用基于主动定位方式发起定位请求从而获取位置信息的时延较高的问题,提高了定位过程中定位效率。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

Claims (10)

1.一种定位方法,其特征在于,所述方法包括:
确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,将所述定位方式从所述主动定位方式切换为被动定位方式;
获取参考应用采用所述主动定位方式定位到的参考位置信息;
将所述参考位置信息确定为所述目标应用定位到的位置信息。
2.根据权利要求1所述的方法,其特征在于,所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,包括:
确定目标应用发起定位请求的定位方式为主动定位方式时,判断所述目标应用是否属于前台应用;
当所述目标应用不属于所述前台应用时,确定所述目标应用为目标类型应用。
3.根据权利要求1所述的方法,其特征在于,所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,包括:
确定目标应用发起定位请求的定位方式为主动定位方式时,检测所述目标应用是否属于白名单中的应用;
当所述目标应用不属于所述白名单中的应用时,确定所述目标应用为目标类型应用。
4.根据权利要求1所述的方法,其特征在于,所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,包括:
确定目标应用发起定位请求的定位方式为主动定位方式时,获取定位参数,所述定位参数包括定位精度、定位请求周期、定位间隔、定位次数、定位时间中的至少一种;
在所述定位参数与目标类型对应的定位阈值相匹配时,确定所述目标应用为目标类型应用。
5.根据权利要求1所述的方法,其特征在于,所述确定目标应用发起定位请求的定位方式为主动定位方式且所述目标应用为目标类型应用,包括:
确定目标应用发起定位请求的定位方式为主动定位方式时,获取所述目标应用的历史行为信息,基于所述历史行为信息确定所述目标应用在获取到历史位置信息后的请求释放时间;
在所述定位请求释放时间小于预设释放时间时,确定所述目标应用为目标类型应用。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述获取参考应用采用所述主动定位方式定位到的参考位置信息,包括:
确定采用所述主动定位方式的指定应用,将所述指定应用确定为参考应用;
获取所述参考应用定位到的参考位置信息。
7.根据权利要求6所述的方法,其特征在于,所述获取所述参考应用定位到的参考位置信息,包括:
获取终端当前的状态信息,基于所述状态信息确定所述参考应用对应的定位周期;
基于所述定位周期,获取所述参考应用在当前定位周期定位到的参考位置信息。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述获取参考应用采用所述主动定位方式定位到的参考位置信息,包括:
获取当前采用主动定位方式定位的至少一个应用;
将所述至少一个应用中的任一应用确定为参考应用,获取所述参考应用当前定位到的参考位置信息。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~8任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~8任意一项的方法步骤。
CN202010632233.9A 2020-07-03 2020-07-03 定位方法、装置、存储介质及电子设备 Active CN111918386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010632233.9A CN111918386B (zh) 2020-07-03 2020-07-03 定位方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010632233.9A CN111918386B (zh) 2020-07-03 2020-07-03 定位方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN111918386A true CN111918386A (zh) 2020-11-10
CN111918386B CN111918386B (zh) 2023-09-29

Family

ID=73227289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010632233.9A Active CN111918386B (zh) 2020-07-03 2020-07-03 定位方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN111918386B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390064A (zh) * 2021-12-30 2022-04-22 科沃斯商用机器人有限公司 设备定位方法、装置、机器人和存储介质
CN116033333A (zh) * 2022-08-31 2023-04-28 荣耀终端有限公司 确定位置信息的方法、电子设备及可读存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101204109A (zh) * 2005-07-25 2008-06-18 华为技术有限公司 基于安全的用户平面移动定位方法和系统
US20110173674A1 (en) * 2010-01-13 2011-07-14 Andrew Llc Method and system for providing location of target device using stateless user information
US20140002307A1 (en) * 2012-06-29 2014-01-02 Broadcom Corporation Indoor/Outdoor Transition Determination
CN106953928A (zh) * 2017-04-28 2017-07-14 上海与德科技有限公司 位置信息的获取方法及装置
CN107040892A (zh) * 2017-04-13 2017-08-11 广东欧珀移动通信有限公司 移动终端的位置信息获取方法、装置及移动终端
JP2017175637A (ja) * 2017-05-01 2017-09-28 Kddi株式会社 装置、位置取得方法、及び、位置取得制御用プログラム
CN107623939A (zh) * 2016-07-14 2018-01-23 曦恩体感科技股份有限公司 电子装置以及用于提供位置信息的方法
CN107862217A (zh) * 2017-10-31 2018-03-30 努比亚技术有限公司 一种位置信息获取方法、移动终端以及计算机存储介质
CN108012237A (zh) * 2017-12-13 2018-05-08 广东欧珀移动通信有限公司 定位控制方法、装置、存储介质及终端设备
CN108055644A (zh) * 2017-12-13 2018-05-18 广东欧珀移动通信有限公司 定位控制方法、装置、存储介质及终端设备
CN108076429A (zh) * 2017-12-13 2018-05-25 广东欧珀移动通信有限公司 定位方法、装置、存储介质及移动终端
CN110830658A (zh) * 2019-11-29 2020-02-21 捷开通讯(深圳)有限公司 移动终端控制方法、装置、移动终端及存储介质
CN110855838A (zh) * 2019-11-22 2020-02-28 RealMe重庆移动通信有限公司 定位服务控制方法、装置、移动终端以及存储介质
WO2020093208A1 (zh) * 2018-11-05 2020-05-14 深圳市欢太科技有限公司 应用程序处理方法和装置、计算机设备、计算机可读存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101204109A (zh) * 2005-07-25 2008-06-18 华为技术有限公司 基于安全的用户平面移动定位方法和系统
US20110173674A1 (en) * 2010-01-13 2011-07-14 Andrew Llc Method and system for providing location of target device using stateless user information
US20140002307A1 (en) * 2012-06-29 2014-01-02 Broadcom Corporation Indoor/Outdoor Transition Determination
CN107623939A (zh) * 2016-07-14 2018-01-23 曦恩体感科技股份有限公司 电子装置以及用于提供位置信息的方法
CN107040892A (zh) * 2017-04-13 2017-08-11 广东欧珀移动通信有限公司 移动终端的位置信息获取方法、装置及移动终端
CN106953928A (zh) * 2017-04-28 2017-07-14 上海与德科技有限公司 位置信息的获取方法及装置
JP2017175637A (ja) * 2017-05-01 2017-09-28 Kddi株式会社 装置、位置取得方法、及び、位置取得制御用プログラム
CN107862217A (zh) * 2017-10-31 2018-03-30 努比亚技术有限公司 一种位置信息获取方法、移动终端以及计算机存储介质
CN108012237A (zh) * 2017-12-13 2018-05-08 广东欧珀移动通信有限公司 定位控制方法、装置、存储介质及终端设备
CN108055644A (zh) * 2017-12-13 2018-05-18 广东欧珀移动通信有限公司 定位控制方法、装置、存储介质及终端设备
CN108076429A (zh) * 2017-12-13 2018-05-25 广东欧珀移动通信有限公司 定位方法、装置、存储介质及移动终端
WO2020093208A1 (zh) * 2018-11-05 2020-05-14 深圳市欢太科技有限公司 应用程序处理方法和装置、计算机设备、计算机可读存储介质
CN110855838A (zh) * 2019-11-22 2020-02-28 RealMe重庆移动通信有限公司 定位服务控制方法、装置、移动终端以及存储介质
CN110830658A (zh) * 2019-11-29 2020-02-21 捷开通讯(深圳)有限公司 移动终端控制方法、装置、移动终端及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张琳;张涛;郭希蕊;李福昌;: "智能室内定位系统研究", 邮电设计技术, no. 03, pages 33 - 37 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390064A (zh) * 2021-12-30 2022-04-22 科沃斯商用机器人有限公司 设备定位方法、装置、机器人和存储介质
CN116033333A (zh) * 2022-08-31 2023-04-28 荣耀终端有限公司 确定位置信息的方法、电子设备及可读存储介质
CN116033333B (zh) * 2022-08-31 2023-10-17 荣耀终端有限公司 确定位置信息的方法、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN111918386B (zh) 2023-09-29

Similar Documents

Publication Publication Date Title
WO2020108085A1 (zh) 资源配置方法、装置、终端及存储介质
CN108363593B (zh) 应用程序预加载方法、装置、存储介质及终端
WO2019206213A1 (zh) 应用程序预加载方法、装置、存储介质及终端
CN109992315B (zh) 触摸屏控制方法、装置、终端及存储介质
CN111459586B (zh) 远程协助方法、装置、存储介质及终端
CN113779166B (zh) 地理围栏控制方法、装置、存储介质及电子设备
CN112788583B (zh) 设备寻找方法、装置、存储介质及电子设备
CN111596971B (zh) 应用清理方法、装置、存储介质及电子设备
CN111914149A (zh) 一种请求处理方法、装置、存储介质及电子设备
CN111918386B (zh) 定位方法、装置、存储介质及电子设备
CN112837099A (zh) 潜在流失用户识别方法、装置、存储介质及电子设备
WO2023273463A1 (zh) 流量套餐获取方法、装置、终端及存储介质
CN106681827B (zh) 一种检测软件运行卡慢的方法及装置、电子设备
CN113163055B (zh) 一种震动调节方法、装置、存储介质及电子设备
CN111580883B (zh) 应用程序启动方法、装置、计算机系统和介质
US20230384925A1 (en) Method, terminal for acquiring gesture data, and storage medium
CN113780978A (zh) 到站提醒方法、装置、存储介质及电子设备
CN112150983A (zh) 屏幕亮度调节方法、装置、存储介质及电子设备
CN112995562A (zh) 摄像头的调用方法、装置、存储介质及终端
CN113286349B (zh) 个人热点连接方法、装置、终端及存储介质
CN112256354B (zh) 应用启动方法、装置、存储介质及电子设备
CN115379005A (zh) 一种消息处理方法、装置、存储介质及电子设备
CN109739635B (zh) 系统性能的优化方法、装置、终端及存储介质
CN113268414A (zh) 实验版本的分配方法、装置、存储介质及计算机设备
CN111770510A (zh) 网络体验状态确定方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant