一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

定位方法和电子设备与流程

2021-12-18 02:18:00 来源:中国专利 TAG:


1.本技术涉及电子技术领域,尤其涉及定位方法和电子设备。


背景技术:

2.随着电子技术的发展,智能手机、平板电脑、可穿戴电子设备给用户的日常生活带来极大的便利。越来越多的电子设备配置有定位设备,并支持多种定位方式。电子设备通过基于位置服务(location based service,lbs)为电子设备上的应用程序提供准确的定位。


技术实现要素:

3.本技术实施例提供了一种定位方法和电子设备。本技术一些实施例提供的定位方法包括:首先,当应用程序的权限为模糊定位时,拦截应用程序向电子设备请求用于计算电子设备真实位置的数据,并响应于该应用程序请求电子设备的位置,修改真实位置后得到模糊位置,并将模糊位置返回给发起请求的应用程序。本技术一些实施例公开的定位方法,能够充分保障用户的位置隐私。
4.对于一部分应用如导航类应用,电子设备需要为其提供准确的位置;对于另一部分应用来说,位置的准确与否几乎不影响该应用程序的大部分功能实现与用户体验,如分应用来说,位置的准确与否几乎不影响该应用程序的大部分功能实现与用户体验,如等应用程序。其次,位置作为用户的隐私,电子设备应当采取一定的方式保障用户的隐私。
5.一种保障用户位置隐私的方式为:应用程序向电子设备请求位置后,电子设备确定位置后,修改位置的值,并将修改后的位置信息返回给请求的应用程序,进而实现位置隐私的保护。
6.但是,该保障用户位置信息隐私的方式仅仅针对应用程序请求电子设备的卫星定位的位置信息时有效。应用程序仍然可以使用其他方式去确定电子设备的位置,例如通过基站的标识、wi

fi的标识确定电子设备的位置。进一步的,修改后的位置仍然可以间接泄露用户的隐私,例如,当电子设备不发生空间位移时,修改后的位置也不会变化,可能间接泄露用户运动与否的隐私。
7.第一方面,本技术提供了一种定位方法,应用于电子设备,包括:
8.该电子设备上运行有一个或多个应用程序,该一个或多个应用程序包括第一应用程序;该电子设备确定该第一应用程序的定位权限为模糊位置;响应于第一应用程序的第一请求,该电子设备向应用程序返回第二数据,该第一请求用于请求第一数据,该第一数据为用于确定电子设备位置的基站和/或wi

fi的数据,该第二数据不等于第一数据,该第二数据不包括该电子设备的位置;该电子设备基于第一方式确定该电子设备的位置为第一位置,该第一方式包括基站定位、wi

fi定位、卫星定位中的至少一种定位方式;响应于该第一应用程序的第二请求,该电子设备向该第一应用程序返回第二位置,该第二请求用于请求该电子设备的位置,该第二位置与该第一位置不同。
9.在上述实施例中,电子设备通过拦截应用程序向电子设备请求用于计算电子设备
真实位置的数据,并响应于该应用程序请求电子设备的位置,修改真实位置后得到模糊位置,并将模糊位置返回给发起请求的应用程序,充分保护了用户的位置隐私,提升了用户的体验。其中,应用程序可以是非导航类应用,如生活类应用、社交类应用等,对于这些应用,应用的定位权限可以为模糊位置。
10.结合第一方面的一些实施例,在一些实施例中,第二数据为空或null或约定的错误码。
11.在上述实施例中,第二数据为空或null或约定的错误码,进而使得应用程序只能从电子设备上直接获取位置,而不能由应用程序自己计算获得电子设备的位置,充分保护了用户的位置隐私,提升了用户的体验。
12.结合第一方面的一些实施例,在一些实施例中,在第一时刻,响应于该第一应用程序的第二请求,该电子设备向该第一应用程序返回第二位置,该方法还包括:在第二时刻,响应与该第一应用程序的第二请求,该电子设备向该第一应用程序返回第三位置;在该第一时刻与该第二时刻的时间间隔小于等于时间阈值的情况下,该第二位置等于该第三位置,在该第一时刻与该第二时刻的时间间隔大于时间阈值的情况下,该第二位置不等于该第三位置。
13.在上述实施例中,当电子设备的真实位置不发生变化时,短时间内电子设备的模糊位置不变,超过预置的时间间隔电子设备的模糊位置发生变化,充分保护了用户是否静止的隐私。
14.结合第一方面的一些实施例,在一些实施例中,在第一时刻,响应于该第一应用程序的第二请求,该电子设备向该第一应用程序返回第二位置,该方法还包括:
15.在第三时刻,响应于该第一应用程序的第二请求,该电子设备向该第一应用程序返回第四位置;在第一距离小于等于该距离阈值的情况下,该第二位置等于该第四位置;在第一距离大于该距离阈值的情况下,该第二位置不等于该第四位置;该第一距离为该第一时刻该电子设备的位置与该第三时刻该电子设备的位置之间的距离。
16.在上述实施例中,当电子设备的真实位置发生变化,且真实位置的变化的距离较小的情况下,电子设备确定的模糊位置不变,使得用户在小范围内移动时,应用程序不能感知到电子设备的移动。
17.结合第一方面的一些实施例,在一些实施例中,响应于该第一应用程序的第二请求,该电子设备向该第一应用程序返回第四位置前,还包括:
18.该电子设备基于运动信息确定该第一距离,该运动信息包括该电子设备的速度、加速度中的至少一种;或者,在第三时刻,该电子设备基于该第一方式确定该电子设备的位置为第五位置,该电子设备基于该第五位置和该第一位置确定该第一距离。
19.在上述实施例中,电子设备可以通过多种方式确定真实位置的变化的距离,例如,可以通过先确定两次真实位置的坐标然后计算两次真实位置之间的距离,或者通过运动信息计算两次真实位置之间的距离。
20.结合第一方面的一些实施例,在一些实施例中,在第一时刻,响应于该第一应用程序的第二请求,该电子设备向该第一应用程序返回第二位置,并且在该第一应用程序属于运动类应用程序的情况下,该方法还包括:
21.在第四时刻,响应于该第一应用程序的第二请求,该电子设备向该第一应用程序
返回第六位置;该第六位置与该第二位置之间的距离为第二距离;该第二距离为该第三时刻该电子设备的位置与该第一位置之间的距离。
22.在上述实施例中,在应用程序是运动类应用程序的情况下,虽然该应用获取的位置为模糊后的模糊位置,但是不影响该应用计算用户运动的距离,不影响该应用功能的实现,还保护了用户的位置隐私。
23.结合第一方面的一些实施例,在一些实施例中,响应于该第一应用程序的第二请求,该电子设备向该第一应用程序返回第六位置前,还包括:
24.该电子设备基于运动信息确定该第二距离,该运动信息包括该电子设备的速度、加速度中的至少一种;或者,在第四时刻,该电子设备基于该第一方式确定该电子设备的位置为第七位置,该电子设备基于该第七位置和该第一位置确定该第二距离。
25.在上述实施例中,电子设备可以通过多种方式确定真实位置的变化的距离,例如,可以通过先确定两次真实位置的坐标然后计算两次真实位置之间的距离,或者通过运动信息计算两次真实位置之间的距离。
26.结合第一方面的一些实施例,在一些实施例中,该电子设备确定第一应用程序的定位权限为模糊位置,具体包括:
27.响应于用户的交互,该电子设备确定该第一应用程序的定位权限为模糊定位;或者,该电子设备基于第一方式确定该电子设备的位置在敏感区域内后,在该第一应用程序的权限为精准位置的情况下,该电子设备配置该第一应用的定位权限为模糊位置,并且所属第二位置在该敏感区域外。
28.在上述实施例中,电子设备可以有多种方式确定应用程序的定位权限,例如,可以通过接受用户的选择配置并确定应用程序的定位权限,或者,可以通过判断电子设备的位置是否在敏感区域确定应用程序的定位权限为模糊定位等,更有效的确认应用的定位权限,进而全面的保护用户的隐私,提升用户的体验。
29.结合第一方面的一些实施例,在一些实施例中,该一个或多个应用程序还包括第二应用程序,该第二应用程序的定位权限为模糊位置,该方法还包括:
30.响应于该第二应用程序的第三请求,该电子设备向该第一应用程序返回第八位置,该第三请求用于请求该电子设备的位置,该第二位置与该第八位置不同;该第二请求与该第三请求的发生时间相同。
31.在上述实施例中,定位权限为模糊定位的不同应用程序在同一时间请求位置,获得模糊位置可以不同。
32.结合第一方面的一些实施例,在一些实施例中,该第二应用程序的模糊定位对应的模糊精度小于该第一应用程序的模糊定位对应的模糊精度;该第二位置与该第一位置之间的距离小于该第三位置与该第一位置之间的距离。
33.在上述实施例中,用户可以为不同的应用程序的模糊定位配置不同的模糊精度,进而实现对用户位置隐私的全方面、多角度的保护。
34.结合第一方面的一些实施例,在一些实施例中,该电子设备向该第一应用程序返回第二位置前,还包括:
35.该电子设备基于该第一位置确定第一区域;该电子设备基于第一区域中的随机位置以及偏移量确定该第二位置,该随机位置为该电子设备在第一区域中随机选择的位置,
该随机位置与该第一位置不同。
36.在上述实施例中,电子设备确定模糊位置时,可以通过随机位置作为真实位置和模糊位置的中间层,进而降低真实位置和模糊位置之间的相关性,使得真实位置和模糊位置更加独立,进而使得应用程序不能从模糊位置中逆推出电子设备的真实位置。
37.结合第一方面的一些实施例,在一些实施例中,该电子设备向该第一应用程序返回第二位置前,还包括:
38.该电子设备基于该第一位置和偏移量确定该第二位置。
39.在上述实施例中,电子设备可以通过真实位置和一个随机偏移确定模糊位置。
40.结合第一方面的一些实施例,在一些实施例中,该第二位置和该第一位置位于同一区域,该区域为省、市、县、风景区或商区中的任一种。
41.在上述实施例中,对于生活类应用程序,如外卖软件、本地新闻类软件,在保护用户位置隐私的前提下,也保障了该类应用程序的功能正常运行。
42.结合第一方面的一些实施例,在一些实施例中,该第一应用程序属于非导航类应用,该非导航类应用包括淘宝、知乎、大众点评、下厨房、美团。
43.第二方面,本技术实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行:
44.运行有一个或多个应用程序,该一个或多个应用程序包括第一应用程序;确定该第一应用程序的定位权限为模糊定位;响应于第一应用程序的第一请求,向应用程序返回第二数据,该第一请求用于请求第一数据,该第一数据为用于确定电子设备位置的基站和/或wi

fi的数据,该第二数据不等于第一数据,该第二数据不包括该电子设备的位置;基于第一方式确定该电子设备的位置为第一位置,该第一方式包括基站定位、wi

fi定位、卫星定位中的至少一种定位方式;响应于该第一应用程序的第二请求,向该第一应用程序返回第二位置,该第二请求用于请求该电子设备的位置,该第二位置与该第一位置不同。
45.在上述实施例中,电子设备通过拦截应用程序向电子设备请求用于计算电子设备真实位置的数据,并响应于该应用程序请求电子设备的位置,修改真实位置后得到模糊位置,并将模糊位置返回给发起请求的应用程序,充分保护了用户的位置隐私,提升了用户的体验。其中,应用程序可以是非导航类应用,如生活类应用、社交类应用等,对于这些应用,应用的定位权限可以为模糊位置。
46.结合第二方面的一些实施例,在一些实施例中,第二数据为空或null或约定的错误码。
47.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在第二时刻,响应与该第一应用程序的第二请求,向该第一应用程序返回第三位置;在该第一时刻与该第二时刻的时间间隔小于等于时间阈值的情况下,该第二位置等于该第三位置,在该第一时刻与该第二时刻的时间间隔大于时间阈值的情况下,该第二位置不等于该第三位置。
48.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在第三时刻,响应于该第一应用程序的第二请求,该
电子设备向该第一应用程序返回第四位置;在第一距离小于等于该距离阈值的情况下,该第二位置等于该第四位置;在第一距离大于该距离阈值的情况下,该第二位置不等于该第四位置;该第一距离为该第一时刻该电子设备的位置与该第三时刻该电子设备的位置之间的距离。
49.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:基于运动信息确定该第一距离,该运动信息包括该电子设备的速度、加速度中的至少一种;或者,在第三时刻,基于该第一方式确定该电子设备的位置为第五位置,基于该第五位置和该第一位置确定该第一距离。
50.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在第四时刻,响应于该第一应用程序的第二请求,向该第一应用程序返回第六位置;该第六位置与该第二位置之间的距离为第二距离;该第二距离为该第三时刻该电子设备的位置与该第一位置之间的距离。
51.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:基于运动信息确定该第二距离,该运动信息包括该电子设备的速度、加速度中的至少一种;或者,在第四时刻,基于该第一方式确定该电子设备的位置为第七位置,基于该第七位置和该第一位置确定该第二距离。
52.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,具体用于调用该计算机指令以使得该电子设备执行:响应于用户的交互,确定该第一应用程序的定位权限为模糊定位;或者,基于第一方式确定该电子设备的位置在敏感区域内后,在该第一应用程序的权限为精准定位的情况下,配置该第一应用程序的定位权限为模糊定位,并且所属第二位置在该敏感区域外。
53.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:响应于该第二应用程序的第三请求,向该第一应用程序返回第八位置,该第三请求用于请求该电子设备的位置,该第二位置与该第八位置不同;该第二请求与该第三请求的发生时间相同。
54.结合第二方面的一些实施例,在一些实施例中,该第二应用程序的模糊定位对应的模糊精度小于该第一应用程序的模糊定位对应的模糊精度;该第二位置与该第一位置之间的距离小于该第三位置与该第一位置之间的距离。
55.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:基于该第一位置确定第一区域;基于第一区域中的随机位置以及偏移量确定该第二位置,该随机位置为该电子设备在第一区域中随机选择的位置,该随机位置与该第一位置不同。
56.结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:该电子设备基于该第一位置和偏移量确定该第二位置。
57.结合第二方面的一些实施例,在一些实施例中,该第二位置和该第一位置位于同一区域,该区域为省、市、县、风景区或商区中的任一种。
58.结合第二方面的一些实施例,在一些实施例中,该第一应用程序属于非导航类应用,该非导航类应用包括淘宝、知乎、大众点评、下厨房、美团。
59.第三方面,本技术实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
60.第四方面,本技术实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
61.第五方面,本技术实施例提供一种计算机可读存储介质,包括指令,当上述指令在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
62.可以理解地,上述第二方面提供的电子设备、第三方面提供的芯片系统、第四方面提供的计算机程序产品和第五方面提供的计算机存储介质均用于执行本技术实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
63.图1a为本技术涉及的ip定位的一个示例性示意图;
64.图1b为本技术涉及的基站定位的一个示例性示意图;
65.图1c为本技术涉及的卫星定位的一个示例性示意图;
66.图2a、图2b、图2c为本技术实施例提供的模糊定位功能的ui界面的一个示例性示意图;
67.图3a为本技术实施例提供的应用程序获取位置方法的一个示例性示意图;
68.图3b为本技术实施例提供的电子设备确定的位置与应用程序获取的位置进行对比的一个示例性示意图;
69.图3c为本技术涉及的基于随机偏移确定模糊位置时模糊位置与真实位置关系的一个示例性示意图;
70.图3d为本技术涉及的基于随机偏移确定模糊位置时模糊位置与真实位置关系的另一个示例性示意图;
71.图4为本技术实施例提供的定位方法的一个示例性示意图;
72.图5a、图5b为本技术实施例提供的应用程序启动时向电子设备申请定位权限的一个示例性示意图;
73.图5c、图5d为本技术实施例提供的应用程序启动时向电子设备申请定位权限的另一个示例性示意图;
74.图6为本技术实施例提供的模糊位置变化的一个示例示意图;
75.图7a、图7b、图7c为本技术实施例提供的拦截应用程序请求位置敏感信息方式的一个示例示意图;
76.图8a、图8b为本技术实施例提供的从一个真实位置到一个模糊位置方法的一个示例性示意图;
77.图9为本技术实施例提供的随机偏移和时间关系的一个示例性示意图;
78.图10为本技术实施例提供的模糊位置修正的一个示例性示意图;
79.图11为本技术实施例提供的定位权限的模糊精度与随机偏移关系的一个示例性
示意图;
80.图12为本技术实施例提供的模糊位置与真实位置所在的区域关系的一个示例性示意图;
81.图13为本技术实施例提供的模糊位置的轨迹长度与真实位置轨迹长度关系的一个示例性示意图;
82.图14为本技术实施例提供的电子设备的硬件架构的一个示例性示意图;
83.图15为本技术实施例提供的电子设备的软件架构的一个示例性示意图。
具体实施方式
84.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。单数表达形式“一个”、“一种”、“该”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
85.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
86.本技术以下实施例中的术语“用户界面(user interface,ui)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markup language,xml)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
87.首先,为下面先对本技术实施例涉及的相关术语及相关概念进行介绍。本发明的具体实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
88.(1)定位方式
89.根据确定位置的信息/数据的来源的不同,可以分为三种定位方式:ip定位、网络定位、卫星定位。其中,网络定位又可以分为wi

fi定位和基站定位。
90.下面分别的结合图1a、图1b、图1c所示的内容示例性的介绍三种定位方式:
91.(a)介绍ip定位的方式
92.图1a为本技术涉及的ip定位的一个示例性示意图。
93.如图1a所示,电子设备可以通过多种方式接入城域网,进而获取到ipv4的地址或ipv6的地址,简称为ip地址。不同运营商为不同地域分配的ip地址范围相对固定。
94.ip地址的有限性导致了ip地址的按需分配特性,虽然有部分ip地址绑定于特定的企业、机构,但是大部分ip地址依然是依申请分配的,即,在同一位置的电子设备的ip地址可以不同,即在不同时间的获取相同ip地址的两个电子设备的位置可以不同。
95.即,ip地址的定位精度比较低。
96.(b)介绍网络定位中的基站定位的方式:
97.基站定位包括:电子设备可以获取基站的信息如移动国家代码(mobile country code,mcc)、移动网络号码(mobilenetwork code,mnc)、位置区域码(location area code,lac)、基站编号(cell identity,cid)。应用程序从电子设备请求得到mcc、mnc、lac、cid参数后,可以通过第三方sdk的接口去计算确定电子设备所在的位置。
98.图1b为本技术涉及的基站定位的一个示例性示意图。
99.如图1b所示,不论应用程序有是否有定位权限,响应于应用程序的请求,电子设备的操作系统会向应用程序提供一个或多个基站的信息如mcc、mnc等。应用程序在获取到一个或多个基站的信息后,可以将一个或多个基站的信息发送到第三方sdk服务器上。第三方sdk服务器基于一个或多个基站的信息确定基站的位置或该电子设备的位置,进而将该位置返回给应用程序。
100.值得说明的是,基站定位还可以通过其他方式实现,在此不做限定。例如,可以通过计算电子设备的发射的电磁波到不同基站的时间和时间差,并结合基站的位置,进而可以确定电子设备的位置。
101.(c)介绍网络定位中的wi

fi定位的方式:
102.wi

fi定位的过程与基站定位的过程类似。其中,用于定位的wi

fi信息包括:作为ap的接入设备的mac号。
103.其中,wi

fi定位的过程可以参考基站定位的过程,此处不再赘述。
104.(d)介绍卫星定位的方式:
105.以全球定位系统(global positioning system,gps)为例,结合图1c所示的内容,示例性的介绍卫星定位的方式。
106.图1c为本技术涉及的卫星定位的一个示例性示意图。
107.如图1c所示,首先,电子设备通过移动通信模块接受卫星的信号。其中,在地面上的电子设备可以接受到至少4颗以上的卫星,并且每颗卫星的位置精确可知。
108.其次,在三维坐标系中,利用三维坐标中的距离公式,由于只有电子设备的坐标未知,通过至少三颗卫星(考虑不同卫星的时钟误差时,为至少四颗)的位置,以及三颗卫星与电子设备之间的距离确定电子设备的位置。
109.最后,响应于应用程序的请求,电子设备将确定的位置返回给应用程序。
110.(2)模糊定位
111.(a)定位权限、前台位置信息、后台位置信息
112.权限为电子设备为应用程序配置的一个参数,用于确定应用程序是否能访问、执行该权限对应的受限数据和受限操作。
113.定位权限为电子设备为应用程序配置的位置信息访问权限。其中,从某种角度,位置信息可以包括前台位置信息、后台位置信息。
114.其中,如果应用程序的某项功能仅分享或接收一次位置信息,或者只在特定的一段时间内分享或接收位置信息,则该功能需要前台位置信息访问权限。如果应用程序的功能在下列某种情况下访问设备的当前位置信息,操作系统就会认为应用需要使用前台位置信息:属于应用的某个activity可见或者该应用的前台服务在运行中。
115.例如,在导航应用中,某项功能可让用户查询精细导航路线。又例如,在即时通讯应用中,某项功能可让用户与其他用户分享自己目前所在的位置。
116.其中,如果应用中的某项功能会不断与其他用户分享位置信息或使用geofencing api,则该应用需要后台位置信息访问权限。除了前台位置信息所述的情况之外,如果应用在任何其他情况下访问设备的当前位置信息,操作系统就会认为应用需要使用后台位置信息。
117.为了方便后文阐述,若无特殊说明,以位置代替前台位置信息和/或后台位置信息。
118.其中,位置的数据表现形式可以为(经度、纬度、高度)或(经度、维度)等,在此不做限定。
119.(b)模糊定位
120.模糊定位为操作系统提供的一个功能。当模糊定位开启时,电子设备上的应用程序从操作系统上获取的位置为修改后的位置;当模糊定位关闭时(精确定位开启时),电子设备的应用程序从操作系统上获取的位置为真实的位置。
121.其中,电子设备可以有多种方式获取电子设备的位置。例如,可以通过卫星定位、wi

fi定位、基站定位等方式确定电子设备的位置。其中,卫星定位、wi

fi定位、基站定位可以参考上文中(1)定位方式中的文字描述,此处不再赘述。
122.为了区分电子设备确定的位置与应用程序获取到的位置,在后文中,统一称电子设备本身确定的位置为真实位置,电子设备修改真实位置得到的位置为模糊位置。
123.下面结合图2a、图2b、图2c所示的内容,示例性的介绍模糊位置的配置过程,以及模糊位置配置后应用程序获取到的模糊位置的效果。
124.图2a、图2b、图2c为本技术实施例提供的模糊定位功能的ui界面的一个示例性示意图。
125.在电子设备第一次启动(冷启动)该应用程序的情况下,或者在电子设备清空该应用程序的数据后非第一次启动该应用程序的情况下,电子设备不知道该应用程序的权限的配置情况,则电子设备需要向用户确认该应用程序的权限。
126.如图2a和图2b所示,电子设备第一次启动该应用程序后,会显示一个授权窗口,用于提示用户为应用程序分配权限。
127.更具体的,在图2a所示的情况下,电子设备会配置应用程序的权限为精准定位。对应的,在图2b所示的情况下,电子设备会配置应用程序的权限为模糊定位。
128.值得说明的是,不是所有应用程序都会在被启动后立即申请权限,还有一些应用程序会在启动后,运行过程中需要调用操作系统权限相关的api前申请相关的权限。
129.例如,如图2c所示,在应用程序的运行过程中,响应于用户的交互,应用程序需要借助定位实现某些功能时,需要向用户确认定位权限。
130.在为应用程序配置模糊定位后,响应于应用程序向电子设备的位置请求,电子设备将修改后的位置返回给应用程序。其中,修改的方式为对真实位置加一个随机偏移。
131.其次,结合图3a、图3b、图3c所示的内容,介绍在模糊位置的权限配置情况下应用程序获取用户定位的过程。
132.图3a为本技术实施例提供的应用程序获取位置方法的一个示例性示意图。
133.如图3a所示,电子设备上运行的应用程序可以通过多种方式确定电子设备的位置,例如,应用程序可以直接向电子设备请求位置,例如通过android系统提供的locationmanager类、gpsstatus类等。
134.如图3a所示,或者,应用程序可以向电子设备请求用于确定位置的信息,然后将用于确定位置的信息发送给第三方sdk服务器,第三方sdk服务器基于用于确定位置的信息去确定电子设备的位置,然后将该电子设备的位置返回给该应用程序。
135.其中,用于确定位置的信息可以是电子设备可以发现的提供ap功能的接入设备的mac号、或者是电子设备可以发现的基站的mcc、mnc、lac、cid信息等,在此不做限定。
136.其中,应用程序获取提供ap功能的接入设备的mac号可以通过多种方式获取,例如,通过android系统提供的wifiinfo类、networkinterface类等获取,在此不做限定。
137.其中,应用程序获取基站的mcc、mnc、lac、cid信息可以通过android操作系统提供的telephonymanager类等多种方法获取,在此不做限定。
138.其一,虽然,当应用程序的权限为模糊定位时,应用程序向电子设备请求位置时,电子设备可以返回修改后的模糊位置,进而使得应用程序不能获取到电子设备的真实位置,初步保障了用户的隐私。
139.但是,当应用程序的权限为模糊定位时,应用程序可以向电子设备请求用于确定位置的信息并通过第三方sdk服务器确定电子设备的位置;即,应用程序可以通过基站定位、wi

fi定位的方式确定电子设备的真实位置。
140.图3b为本技术实施例提供的电子设备确定的位置与应用程序获取的位置进行对比的一个示例性示意图。
141.如图3b所示,电子设备确定的真实位置与电子设备确定的模糊位置距离较远。但是,应用程序通过基站定位、wi

fi定位的方式获取到的位置非常接近电子设备的真实位置,或者就是电子设备的真实位置。
142.很显然的,在这种情况下,应用程序仍然可以获取到电子设备的真实位置,用户的隐私没有得到充分的保障。
143.其二,即使应用程序没有请求用于确定位置的信息,该应用程序获取到的模糊位置仍然可以确定电子设备的位置相关信息如静止/运动、真实位置的范围等,泄露了用户的隐私。
144.图3c为本技术涉及的基于随机偏移确定模糊位置时模糊位置与真实位置关系的一个示例性示意图。
145.图3d为本技术涉及的基于随机偏移确定模糊位置时模糊位置与真实位置关系的另一个示例性示意图。
146.根据电子设备确定模糊位置时使用的随机偏移是否是固定的随机偏移,可以分为两种情况。其中,随机偏移是指应用程序不能直接确定该电子设备对真实位置的随机偏移的值是多少,故,该随机偏移对应用程序是随机的、不确定的。
147.如图3c所示,第一种情况包括:电子设备上用于确定模糊位置的随机偏移是不随时间变化的或者短时间内不变化的,则电子设备短时间内的移动可以被应用程序确定。
148.例如,忽略高度并且以二维平面为例,若随机偏移为(2,2),时刻1时,电子设备的真实位置为(1,1),确定的模糊位置为(3,3);时刻2时,电子设备的真实位置为(4,4),确定
的模糊位置为(6,6)。在该情况下,虽然应用程序不能确定随机偏移的值是多少,但是应用程序可以基于时刻1的模糊位置和时刻2的模糊位置确定,电子设备的位移为(3,3)。
149.如图3d所示,第二种情况:电子设备上用于确定模糊位置的随机偏移是随时间变化的,则应用程序可以确定电子设备的真实位置。
150.由于电子设备上用于确定模糊位置的随机偏移是随时间变化的,则在电子设备的真实位置未变化时,应用程序可以基于收到的多个模糊位置,通过平均、拟合等方式去确定电子设备的真实位置。
151.例如,忽略高度并且以极坐标平面为例,变化的范围为(0,0)至(360
°
,1),并且电子设备的真实位置为(0,0),则多个模糊位置会组成一个半径为1,圆心在(0,0)的圆。应用程序在收到多个模糊位置后,可以通过模糊位置组成的图形的形状中心确定真实位置为(0,0),或者可以通过平均多个模糊位置确定真实位置为(0,0)。
152.结合上文的描述,可以理解的是,电子设备通过随机偏移确定模糊位置后,应用程序可以通过收集、记录一段时间内电子设备模糊位置的变化,进而分析出电子设备的真实位置或大致的真实位置,所以不能有效保证用户的位置隐私。
153.再次,介绍本技术实施例提供的定位方法。
154.本技术实施例提供的定位方法,首先,电子设备确定当前正在启动、前台或后台的应用程序的定位权限;其次,当应用程序的定位权限为模糊位置权限时,拦截应用程序对位置敏感信息的请求访问,其中,位置敏感信息包括:wi

fi定位、基站定位的信息,如mcc、mnc、lac、cid、作为ap的接入设备的mac号等;最后,响应与应用程序对位置信息的请求,电子设备返回一个非真实的位置,进而实现模糊定位。
155.其一,本技术实施例提供的定位方法使得应用程序不能通过wi

fi定位、基站定位(若ip定位的精度较高,如ip定位的精度不低于wi

fi定位、基站定位的精度一个数量级以上,则包括ip定位)确定电子设备的真实位置或者大致的真实位置,保障了用户的隐私。
156.其二,考虑到电子设备上应用程序的功能可以正常运行,本技术实施例提供的定位方法,将确定的真实位置修改为模糊位置,并在响应于应用程序的位置请求后,返回修改后的模糊位置,使得应用程序不能确定电子设备的真实位置,进而保障了用户的隐私。
157.其三,进一步考虑到用户的隐私除了电子设备的位置外,还包括电子设备是否发生位移等,本技术实施例提供的定位方法在确定模糊位置时,通过多种方式使得模糊位置与真实位置的独立、以及模糊位置的运动状态(运动、静止)与真实位置的运动状态不一致。
158.下面结合图4所示的内容,示例性的介绍本技术实施例提供的定位方法。
159.图4为本技术实施例提供的定位方法的一个示例性示意图。
160.如图4所示,本技术实施例提供的定位方法包括:
161.s401:确定应用程序的定位权限。
162.应用程序在首次启动时,应用程序可以向电子设备申请定位权限;或者,在应用程序前台/后台过程中,可以向电子设备申请定位权限。对于没有申请定位权限的应用程序,电子设备认为该应用程序的定位权限为无。
163.其中,当电子设备配置应用程序的定位权限为“本次使用时允许”、“使用本应用时允许”或“始终允许”,随着应用程序的运行状态的变化,该应用程序的定位权限也可以发生变化。其中,应用程序的运行状态包括前台、后台、未运行。
164.其中,首次启动可以是应用程序安装后的第一次启动,或者,可以是清空该应用程序的缓存/数据后的第一次启动。
165.其中,应用程序首次启动时,应用程序向电子设备申请定位权限的一些实施方式可以参考图2a对应的文字描述;应用程序运行过程中向电子设备申请定位权限的一些实施方式可以参考图2b对应的文字描述。
166.(a)介绍应用程序申请定位权限的实施方式
167.可选的,在本技术的一些实施例中,应用程序首次启动时向电子设备申请定位权限的一些实施方式还可以如图5a、图5b所示;应用程序运行过程中向电子设备申请定位权限的一些实施方式还可以参考图5c、图5d对应的文字描述。
168.图5a、图5b为本技术实施例提供的应用程序启动时向电子设备申请定位权限的一个示例性示意图。
169.如图5a和图5b所示,电子设备第一次启动该应用程序后,会显示一个授权窗口,用于提示用户为应用程序分配权限。
170.并且,与图2a、图2b不同,图5a和图5b所示的内容还可以为应用程序的定位权限配置持续参数。持续参数包括:“本次使用时允许”(onlythistime)、“使用本应用时允许”或“始终允许”。
171.并且,与图2a、图2b不同,图5a和图5b所示的内容还可以为应用程序的定位权限配置不同的定位精度。其中,定位精度可以是高、中、低,分别对应不同的模糊位置的分布范围;或者,定位精度还可以是具体的数值,如1km、5km,
172.图5c、图5d为本技术实施例提供的应用程序启动时向电子设备申请定位权限的另一个示例性示意图。
173.如图5c和图5d所示,在应用程序的运行过程中,响应于用户的交互,应用程序需要借助定位实现某些功能时,需要向用户确认定位权限。
174.定位精度、持续参数等具体的内容可以参考图5a和图5b对应的文字描述,此处不再赘述。
175.(b)介绍不同的定位权限下的模糊位置随应用程序运行状态的变化而变化
176.下面结合图6所示的内容,以应用程序初次启动为例,示例性的介绍模糊位置随应用程序运行状态变化而变化。
177.图6为本技术实施例提供的模糊位置变化的一个示例示意图。
178.如图5a、图5b、图5c、图5d所示,可以将应用程序的定位权限的持续参数分为三种或更多种情况,分别为:“本次使用时允许”、“使用本应用时允许”或“始终允许”。
179.对于“始终允许”,模糊定位权限不会随着应用程序运行状态的变化而变化。
180.对于“使用本应用时允许”,当应用程序运行状态为后台且保持后台的时间大于时间阈值后,至该应用程序被切换到前台前,该应用程序程序的模糊定位权限被电子设备配置为无,即该应用程序没有定位权限。
181.对于“本次运行允许”,当应用程序运行状态为后台且保持后台的时间大于时间阈值后,该应用程序程序的模糊位置被电子设备配置为无,即该应用程序没有定位权限。
182.值得说明的时,当应用程序未运行时,电子设备无需确定该应用程序的模糊位置。
183.(c)介绍模糊定位与位置的关系。
184.可选的,在本技术一些实施例中,电子设备确定真实位置在敏感区域内时,可以将部分或全部正在运行的应用程序的定位权限从精准位置切换到模糊位置。
185.其中,敏感区域可以是电子设备预设的,例如,可以是工作区域、居住区域、行政区域、军事区域、医疗区域等等。
186.s402:拦截应用程序向电子设备请求位置敏感信息。
187.在确定应用程序的定位权限为模糊定位时,拦截该应用程序向电子设备请求位置敏感信息。
188.其中,位置敏感信息包括用于计算电子设备真实位置的基站/wi

fi的信息,例如,如mcc、mnc、lac、cid、作为ap的接入设备的mac号等。
189.其中,拦截的方式可以包括很多种,下面结合图7a、图7b、图7c所示的内容,介绍三种拦截应用程序请求位置敏感信息的方式。
190.图7a、图7b、图7c为本技术实施例提供的拦截应用程序请求位置敏感信息方式的一个示例示意图。
191.如图7a所示,操作系统内部可以包括一个权限管控模块,在应用程序请求位置敏感信息时,首先由权限管控模块接受该请求,并确定发起请求的应用程序的定位权限。
192.若该应用程序的定位权限是模糊定位,则权限管控模块接收到请求并不向操作系统请求位置敏感信息,进而拦截了应用程序对位置敏感信息的请求。
193.如图7b所示,操作系统内部可以包括一个权限管控模块,在应用程序请求位置敏感信息时,由权限管控模块接受该请求,并确定发起请求的应用程序的定位权限。
194.若该应用程序的定位权限是模糊位置权限,则权限管控接收到请求并不向操作系统请求位置敏感信息,并且向应用程序直接返回空(null)或是约定的错误码等。
195.如图7c所示,操作系统内部可以包括一个权限管控模块,在应用程序请求位置敏感信息时,由权限管控模块接受该请求。
196.权限管控模块基于该请求向操作系统请求位置敏感信息。权限管控模块收到位置敏感信息后,确定该应用程序的定位权限为模糊定位后,修改位置敏感信息后返回给发起请求的应用程序。
197.s403:响应于应用程序请求位置信息,电子设备基于真实位置确定模糊位置。
198.响应于应用程序请求位置信息,电子设备确定真实位置,并基于确定的真实位置确定模糊位置,并返回模糊位置给该应用程序。或者,电子设备独立的确定真实位置,响应于应用程序请求位置信息,基于最新确定的真实位置确定模糊位置。
199.其中,基于真实位置确定模糊位置有很多种方法,下面示例性的介绍基于真实位置确定模糊位置的方法。
200.(a)任一时刻,从一个真实位置到一个模糊位置的方法
201.可选的,在本技术实施例提供的定位方法中,可以基于模糊位置和随机偏移确定真实位置。
202.图8a、图8b为本技术实施例提供的从一个真实位置到一个模糊位置方法的一个示例性示意图。
203.如图8a所示,可以通过对真实位置增加一个随机偏移确定模糊位置。例如,电子设备的真实位置为(x,y,z),随机偏移为(x0,y0,z0),则模糊位置为(x1,y1,z1)=(x,y,z)
(x0,y0,z0)。或者,通过其他线性、非线性的映射,可以从真实位置确定模糊位置。
204.在图8a所示的方法中,模糊位置与真实位置还是直接关联的。为了降低模糊位置与真实位置的关联性,使得模糊位置与真实位置更独立,在本技术实施例中,可以按照图8b所示的方法确定模糊位置。
205.如图8b所示,电子设备在确定真实位置后,确定真实位置所属的区域,该区域可以是行政上划分的省、市、县、村等,或者可以是景区、商圈。在确定真实位置所属的区域,随机选择该区域中一点作为随机位置,并通过随机位置与随机偏移确定模糊位置。
206.例如,电子设备的真实位置为(x,y,z),确定该真实位置中所属区域中随机位置(x0,y0,z0),并基于该随机位置和偏移确定模糊位置(x1,y1,z1)。
207.其中,随机偏移作为一个矢量,方向可以从0
°
到360
°1·
,并且随机偏移的模可以配置有最小值、和最大值。
208.值得说明的时,在本技术一些实施例中,在一些场景下,还可以由上一次确定的模糊位置确定本次的模糊位置。其中,具体的内容可以参考下文中的(f),此处不在展开赘述。
209.(b)随机偏移和时间的关系
210.可选的,在本技术实施例提供的定位方法中,确定模糊位置的随机偏移随时间变化。
211.电子设备的运动状态如静止、运动在一定程度上能反映出用户的运动状态,故可以通过调整随机偏移与时间的关系,保护用户的运动状态隐私不被应用程序获取。
212.随机偏移可以每隔m分钟进行一次改变,m可以为60、30、10等。
213.部分应用程序通过统计分析工作日工作时间用户的手机的静止位置,进而得到用户工作的地址,窃取了用户的隐私。通过关联随机偏移和时间,当电子设备的真实位置没有发生改变时,应用程序收到的模糊位置一直在变化中,进而无法有效进行统计分析,最终保障了用户的隐私。
214.图9为本技术实施例提供的随机偏移和时间关系的一个示例性示意图。
215.如图9所示,当电子设备的真实位置不变化时,随着时间的变化,随机偏移一直在变化,则电子设备确定的模糊位置一直随着随机偏移的变化而变化。
216.(c)模糊位置的修正
217.可选的,在本技术实施例提供的定位方法中,在基于随机偏移和真实位置确定模糊位置后,可以对模糊位置进行修正,并将修正后的模糊位置作为本次真正确定的模糊位置。
218.电子设备在确定真实位置、随机偏移后,可以直接得到模糊位置。在随机偏移保持不变的一段时间内,为了保正电子设备的真实位置的位移与模糊位置的位移不等,可以通过对确定到的模糊位置进行修正。
219.图10为本技术实施例提供的模糊位置修正的一个示例性示意图。
220.如图10所示,电子设备短时间内的短距离的位移,其模糊位置不发生改变。其中,时间长短与随机偏移和时间的关系有关,其中,距离的长度的界定阈值由电子设备确定。
221.很显然的,通过修正模糊位置,使得应用程序不能通过模糊位置的变化确定电子设备的真实位置的变化。
222.其中,修正模糊位置的方法有许多种,下面示例性的介绍三种,在此不做限定。
223.其一,第一种修正模糊位置的方法,是通过映射完成。例如对100向下取正。
224.例如,忽略高度并且以二维平面为例,时刻1,电子设备的真实位置为(1280,0);时刻2,电子设备的真实位置为(1290,0);时刻1至时刻2电子设备的随机偏移为(50,0);时刻1,电子设备确定的模糊位置为(1330,0);时刻2,电子设备确定的模糊位置为(1340,0)。
225.在经过非线性映射后,如对100向下取整后,时刻1时,电子设备确定的模糊位置为(1300,0)、时刻2时,电子设备确定的模糊位置为(1300,0)。
226.很显然的,通过映射后,当电子设备的位移在距离阈值范围内时,其模糊位置不会发生变化。其中,距离阈值与非线性映射有关。
227.其二,电子设备通过记录运动信息,确定电子设备的位移,当位移的模大于位移阈值时,更新模糊位置;当位移的模小于等于位移阈值时,不更新模糊位置。
228.其中,电子设备可以通过加速度传感器、陀螺仪传感器确定电子设备的速度、加速度等运动信息,进而确定任意两个时刻之间的电子设备之间的位移。电子设备进而可以更具位移确定是否更新模糊位置。
229.例如,在时刻1,电子设备确定最新的模糊位置的(450,0)。在时刻1后的时刻2,电子设备确定第一时刻至第二时刻位移的模为300,位移阈值为450。则,在第二时刻,电子设备可以不确定真实位置,直接确定模糊位置为(450,0)。
230.其三,电子设备通过两个时刻的真实位置,当两个时刻的真实位置之间的距离大于距离阈值时,更新模糊位置;当两个时刻的真实位置之间的距离小于等于距离阈值时,不更新模糊位置。
231.例如,在时刻1,电子设备确定真实位置为(450,0),模糊位置为(650,0)。在时刻1后的时刻2,电子设备确定真实位置为(600,0),则两个时刻的真实位置之间的距离为150。电子设备确定时刻1至时刻2随机偏移均为(200,0),且距离阈值为200。
232.则,在时刻2,电子设备可以不通过随机偏移确定模糊位置,直接确定模糊位置为(650,0)。
233.类似的,若在时刻2,电子设备确定真实位置为(800,0)。由于,时刻1和时刻2电子设备的真实位置之间的距离为350,且大于距离阈值200。则电子设备可以基于时刻2电子设备确定的真实位置和随机偏移确定模糊位置为(1000,0)。
234.(d)定位权限的模糊精度与随机偏移的关系
235.可选的,本技术实施例提供的定位方法确定的模糊位置可以与应用程序的定位权限的模糊精度有关。其中,模糊精度可以与随机偏移的大小、方向有关。
236.在图5a、图5b、图5c、图5d所示的内容中,用户除了为应用程序的定位权限配置持续参数外,还可以为应用程序的定位权限配置模糊精度。
237.其中,模糊精度直接影响随机偏移的最大值、最小值,还可以影响到随机偏移的方向。
238.图11为本技术实施例提供的定位权限的模糊精度与随机偏移关系的一个示例性示意图。
239.如图11所示,在某一时刻,电子设备确定真实位置为(x,y,z)。其中,电子设备上运行有两个应用程序,其中,应用程序a的定位权限为:模糊定位、模糊精度低;应用程序b的定位权限为模糊定位、模糊精度高。
240.则,电子设备分别为两个应用程序确定模糊位置。其中,电子设备为应用程序a确定的模糊位置为(x1,y1,z1)、电子设备为应用程序b确定的模糊位置为(x2,y2,z2)。
241.其中,(x1,y1,z1)与(x,y,z)的距离小于(x2,y2,z2)与(x,y,z)的距离。
242.(e)模糊位置与真实位置所在的区域的关系
243.可选的,本技术实施例提供的定位方法确定的模糊位置可以与真实位置所在的区域有关系。
244.电子设备在确定模糊位置后,可以判断该模糊位置是否与真实位置位于同一区域,若不在则不断重新确定模糊位置,直到模糊位置与真实位置位于同一区域。其中,重新确定模糊位置需要修改偏移的大小和方向。
245.或者,电子设备在确定模糊位置前,可以考虑真实位置所在的区域,结合随机偏移的大小和方向,直接确定一个在真实位置所在区域的模糊位置。其中,直接确定一个在真实位置所在区域的模糊位置可以修改偏移的大小和方向。
246.其中,区域的划分可以是行政区域划分,如区、县、市、省等。区域的划分也可以是景区、商圈等。
247.图12为本技术实施例提供的模糊位置与真实位置所在的区域关系的一个示例性示意图。
248.如图12所示,电子设备的真实位置(x,y,z)在a区,第一次确定模糊位置时,模糊位置(x1,y1,z1)位于b区,电子设备确定模糊位置(x1,y1,z1)位于b区后,重新确定模糊位置。
249.电子设备重新确定模糊位置,可以更改偏移的大小和方向。
250.(f)模糊位置的轨迹长度与真实位置轨迹长度关系
251.可选的,本技术实施例提供的定位方法确定的模糊位置的轨迹长度与真实位置轨迹长度可以相等。并且值得说明的是,在模糊位置的轨迹长度与真实位置轨迹长度相等的情况下,随机偏移的变化可以与时间独立。
252.电子设备可以存储有运动类应用程序的名单,大部分运动类应用程序如电子设备可以存储有运动类应用程序的名单,大部分运动类应用程序如等,在用户跑步、散步时,需要通过定位确定用户的运动量。
253.考虑到,运动类应用程序的需求,本技术实施例提供的定位方法,可以使得与真实位置对应的模糊位置的轨迹长度与真实位置的轨迹长度一致,进而保障运动类app的功能正常工作,用户可以正常使用运动类应用程序记录自己的运动距离。
254.图13为本技术实施例提供的模糊位置的轨迹长度与真实位置轨迹长度关系的一个示例性示意图。
255.如图13所示,当电子设备确定请求位置的应用程序为运动类应用程序时,电子设备确定模糊位置时会使得模糊位置之间的距离与真实位置之间的距离相等。
256.即,在时刻1,电子设备确定真实位置为(0,0),模糊位置为(2,2)。在时刻2,电子设备确定真实位置为(0,1),则电子设备的位移为(0,1),位移的模为1。在时刻2电子设备确定的模糊位置的方式可以是:以上一次模糊位置(2,2)为圆心,真实位置的位移的模为半径,其圆周上的任一点均可以为该次的模糊位置。例如,时刻2,电子设备确定的模糊位置(2,3)。
257.例如,当用户跑步时,真实位置的轨迹长度为2.5km,模糊位置的轨迹长度同样为2.5km。
258.可以理解的是,本技术实施例提供的定位方法,可以充分保护电子设备的真实位置或大致真实位置不被模糊定位权限的应用程序获取。其次,本技术实施例提供的定位方法,在尽可能保障模糊定位权限的应用程序的功能的正常工作,例如,保障模糊位置和真实位置在同一区域,又例如,保障真实位置的轨迹长度与模糊位置的轨迹长度一致。再次,本技术实施例提供的定位方法,降低了模糊位置与真实位置之间的耦合性,使得应用程序不能通过记录、分析大量的模糊位置确定用户的真实位置。再次,本技术实施例提供的定位方法可以为不同的应用程序提供不同模糊精度的模糊定位方法,进而全方面的保护用户的定位隐私。
259.最后,介绍本技术的电子设备的硬件架构和软件架构。
260.图14为本技术实施例提供的电子设备的硬件架构的一个示例性示意图。
261.电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、人工智能(artificial intelligence,ai)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备等,本技术实施例对该电子设备的具体类型不作特殊限制。
262.电子设备100可以包括处理器101,存储器102,无线通信模块103,移动通信模块104,天线103a,天线104a,电源开关105,传感器模块106,音频模块107,摄像头108,显示屏109等。其中,传感器模块106可以包括陀螺仪传感器106a,气压传感器106b,触摸传感器106c,加速度传感器106d等。其中,无线通信模块103可以包括wlan通信模块,蓝牙通信模块等。上述多个部分可以通过总线传输数据。
263.处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural

network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
264.存储器102可以用于存储计算机可执行程序代码,可执行程序代码可以包括指令。处理器101通过运行存储在存储器102的指令,从而执行电子设备100的各种功能应用以及数据处理。存储器102可以包括存储程序区和存储数据区。具体实现中,存储器102可以包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。
265.电子设备100的无线通信功能可以通过天线103a,天线104a,移动通信模块104,无线通信模块103,调制解调处理器以及基带处理器等实现。
266.天线103a和天线104a可以用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
267.移动通信模块104可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块104可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块104可以由天线104a接收电磁波,并对接收
的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块104还可以对经调制解调处理器调制后的信号放大,经天线104a转为电磁波辐射出去。
268.无线通信模块103可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块103可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块103经由天线103a接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器101。无线通信模块103还可以从处理器101接收待发送的信号,对其进行调频,放大,经天线103a转为电磁波辐射出去。
269.在一些实施例中,电子设备100可以通过移动通信模块进行卫星定位,通过无线通信模块进行wi

fi定位、基站定位。
270.在一些实施例中,显示屏109可用于在配置应用权限时,显示授权窗口,该授权窗口用于显示应用请求用户授予的一个或多个权限。
271.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
272.电子设备可以是搭载ios、android、microsoft或者其它操作系统的便携式终端设备,例如手机、平板电脑、可穿戴设备等,还可以是具有触敏表面或触控面板的膝上型计算机(laptop)、具有触敏表面或触控面板的台式计算机等非便携式终端设备。电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。
273.图15为本技术实施例提供的电子设备的软件架构的一个示例性示意图。
274.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
275.应用程序层可以包括一系列应用程序包。
276.如图15所示,应用程序包可以包括相机,图库,日历,电话,通讯录,导航,wlan,音乐,设置,短信等应用程序。
277.在一些实施例中,在应用运行的过程中,应用可能需要执行受限操作或受限数据,例如系统状态和用户的联系信息,又例如,连接到已配对的其他电子设备并录制音频,这时,电子设备100可以显示授权窗口,提示用户请求授予应用访问其他应用程序的权限,该其他应用程序可以是相机、图库、日历等应用程序。
278.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
279.如图15所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
280.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状
态栏,锁定屏幕,截取屏幕等。
281.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。其中,应用程序在访问这些数据之前,电子设备100可以先显示授权窗口,提示用户请求授予应用访问这些数据的权限。
282.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
283.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
284.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
285.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
286.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。其中android runtime中还可以包括权限管控模块,权限管控模块可以通过packagemanager确定不同应程序的定位权限。
287.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
288.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
289.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
290.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
291.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
292.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
293.2d图形引擎是2d绘图的绘图引擎。
294.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
295.上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
296.本技术的各实施方式可以任意进行组合,以实现不同的技术效果。
297.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
298.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
299.总之,以上所述仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献