本公开涉及终端设备,尤其涉及卫星定位,具体涉及一种全球导航卫星系统接收器的控制方法及装置。
背景技术:
1、在电子设备的定位技术中,主要存在两张定位方式,包括网络定位和卫星定位。其中,网络定位是通过获取周边的基站信息和wifi(无线通信技术)信息来实现终端设备的定位操作,卫星定位是通过打开终端设备的全球导航卫星系统接收器,来搜索空间中的卫星信号,并根据卫星信号解析计算出位置。
2、但是,在卫星定位过程中,由于电子设备的全球导航卫星系统接收器持续工作,导致电子设备的功耗大的问题。
技术实现思路
1、为克服相关技术中存在的问题,本公开提供了一种全球导航卫星系统接收器的控制方法及装置。
2、根据本公开实施例的第一方面,提供了一种全球导航卫星系统接收器的控制方法,包括:
3、响应于接收到电子设备中应用程序发起的卫星定位请求,将所述全球导航卫星系统接收器的状态从关闭状态变更为管控状态;
4、确定网络定位信息返回状态和/或所述应用程序的定位需求;
5、根据所述网络定位信息返回状态和/或所述定位需求,对所述全球导航卫星系统接收器进行控制。
6、在本公开的一些实施例中,所述确定网络定位信息返回状态,包括:
7、确定所述应用程序是否同时发起了第一网络定位请求;
8、响应于所述应用程序同时发起了所述第一网络定位请求,监控所述第一网络定位请求的请求结果;
9、或者,响应于所述应用程序未同时发起所述第一网络定位请求,向网络定位模块发起第二网络定位请求,并监控所述第二网络定位请求的请求结果;
10、根据所述第一网络定位请求的请求结果或者所述第二网络定位请求的请求结果,确定所述网络定位信息返回状态。
11、作为一种可能的实现方式,所述确定所述应用程序是否同时发起了第一网络定位请求,包括:
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、根据本技术的第二方面,提供了一种全球导航卫星系统接收器的控制装置,包括:
45、状态变更模块,用于响应于接收到电子设备中应用程序发起的卫星定位请求,将所述全球导航卫星系统接收器的状态从关闭状态变更为管控状态;
46、确定模块,用于确定网络定位信息返回状态和/或所述应用程序的定位需求;
47、控制模块,用于根据所述网络定位信息返回状态和/或所述定位需求,对所述全球导航卫星系统接收器进行控制。
48、在本公开的一些实施例中,所述确定模块具体用于:
49、确定所述应用程序是否同时发起了第一网络定位请求;
50、响应于所述应用程序同时发起了所述第一网络定位请求,监控所述第一网络定位请求的请求结果;
51、或者,响应于所述应用程序未同时发起所述第一网络定位请求,向网络定位模块发起第二网络定位请求,并监控所述第二网络定位请求的请求结果;
52、根据所述第一网络定位请求的请求结果或者所述第二网络定位请求的请求结果,确定所述网络定位信息返回状态。
53、作为一种可能的实现方式,所述确定模块具体用于:
54、将所述卫星定位请求的标识信息和所述应用程序的标识信息组成第一信息对,并记录在第一目标位置;
55、响应于接收到所述应用程序发起的第一网络定位请求,将所述第一网络定位请求的标识信息和所述应用程序的标识信息组成第二信息对,并记录在第二目标位置;
56、启动第一定时器,并在所述第一定时器超时时,确定所述第一目标位置中是否存在所述卫星定位请求的标识信息;
57、响应于所述第一目标位置中存在所述卫星定位请求的标识信息,确定所述第二目标位置中是否存在所述应用程序的标识信息;
58、响应于所述第二目标位置中存在所述应用程序的标识信息,确定所述应用程序同时发起了第一网络定位请求;
59、响应于所述第二目标位置中未存在所述应用程序的标识信息,确定所述应用程序未同时发起第一网络定位请求。
60、在本公开的一些实施例中,所述确定模块还用于:
61、响应于接收到所述应用程序发送的移除卫星定位请求,根据所述移除卫星定位请求,确定待移除卫星定位请求的标识信息;
62、根据所述待移除卫星定位请求的标识信息,将所述待移除卫星定位请求对应的所述第一信息对从所述第一目标位置中删除;
63、响应于接收到所述应用程序发送的移除网络定位请求,根据所述移除网络定位请求,确定待移除网络定位请求的标识信息;
64、根据所述待移除网络定位请求的标识信息,将所述待移除网络定位请求对应的所述第二信息对从所述第二目标位置中删除。
65、在本公开的一些实施例中,所述确定模块还用于:
66、确定所述第一网络定位请求对应的请求时间;
67、启动第二定时器,并在所述第二定时器超时时,确定最新一次返回的网络定位信息的返回时间;
68、响应于所述返回时间小于或者等于所述请求时间,确定第一网络定位请求的请求结果为失败。
69、在本公开的一些实施例中,所述确定模块还用于:
70、响应于所述第一网络定位请求的请求结果为失败或者所述第二网络定位请求的请求结果为失败,确定所述网络定位信息返回状态为失败。
71、在本公开的另一些实施例中,所述确定模块还用于:
72、在所述确定第一网络定位请求的请求结果为失败之后,将所述第一网络定位请求对应的所述第二信息对从所述第二目标位置中删除。
73、在本公开的又一些实施例中,所述确定模块还用于:
74、响应于所述网络定位模块返回网络定位信息,确定所述全球导航卫星系统接收器的状态是否为开启状态;
75、响应于所述全球导航卫星系统接收器的状态为非开启状态,获取所述第一目标位置中存在的所有目标应用程序的标识信息;
76、根据所述目标应用程序的标识信息,将所述网络定位信息分别返回至每个所述目标应用程序,并将正在运行的所述第二定时器关闭。
77、其中,所述控制模块具体用于:
78、响应于所述网络定位信息返回状态为失败,将所述全球导航卫星系统接收器的状态从管控状态变更为开启状态。
79、作为一种可能的实现方法,所述确定模块还用于:
80、启动第三定时器,并在所述第三定时器超时时,确定所述全球导航卫星系统接收器的状态是否为管控状态;
81、响应于所述全球导航卫星系统接收器的状态为管控状态,确定所述定位需求为持续定位需求。
82、其中,所述控制模块还用于:
83、响应于所述定位需求为持续定位需求,将所述全球导航卫星系统接收器的状态从管控状态变更为开启状态。
84、在本公开的一些实施例中,所述装置还包括:
85、关闭模块,用于响应于所述第一目标位置中的所述第一信息对均被删除,将所述全球导航卫星系统接收器的状态变更为关闭状态。
86、根据本公开的第三方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述第一方面所述的方法。
87、根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
88、根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述第一方面所述的方法。
89、本公开的实施例提供的技术方案可以包括以下有益效果:在接收到电子设备中应用程序发起的卫星定位请求,将全球导航卫星系统接收器的状态从关闭状态变更为管控状态,通过确定网络定位信息返回状态和/或应用程序的定位需求,根据网络定位信息返回状态和/或定位需求,对全球导航卫星系统接收器进行控制。这样,在电子设备进行卫星定位过程中,可以对全球导航卫星系统接收器的运行进行管控,以避免电子设备滥用全球导航卫星定位接收器资源的问题,从而可以降低卫星定位过程中的功耗。
90、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。