Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓系统-是否有可查询的服务已经对GPS位置进行了轮询?_Java_Android_Gps - Fatal编程技术网

Java 安卓系统-是否有可查询的服务已经对GPS位置进行了轮询?

Java 安卓系统-是否有可查询的服务已经对GPS位置进行了轮询?,java,android,gps,Java,Android,Gps,我有一些关于每5分钟或更短时间检查你位置的应用程序的想法。也许每1分钟,我还不确定。显然,我可以简单地创建一个服务,每N分钟检查一次手机的GPS位置。但这是对电池的潜在消耗 我想知道的是,安卓操作系统中是否有已经运行的内部服务已经在轮询手机的GPS位置?这样,也许我可以简单地询问这些服务的位置,而不是自己发出GPS定位请求,以节省电池使用。不存在此类系统服务。您可以创建一个服务并定期检查 设计位置感知应用程序取决于很多因素。尝试回答以下问题: 你总是需要GPS定位还是基于网络的定位足够好 一个地

我有一些关于每5分钟或更短时间检查你位置的应用程序的想法。也许每1分钟,我还不确定。显然,我可以简单地创建一个服务,每N分钟检查一次手机的GPS位置。但这是对电池的潜在消耗


我想知道的是,安卓操作系统中是否有已经运行的内部服务已经在轮询手机的GPS位置?这样,也许我可以简单地询问这些服务的位置,而不是自己发出GPS定位请求,以节省电池使用。

不存在此类系统服务。您可以创建一个服务并定期检查

设计位置感知应用程序取决于很多因素。尝试回答以下问题:

  • 你总是需要GPS定位还是基于网络的定位足够好
  • 一个地点需要有多“新鲜”
  • 即使用户不移动,您也需要一个位置吗
  • 即使手机处于睡眠模式,您也需要一个位置吗

  • 当您使用Android的位置服务订阅位置更新时,请阅读此

    。你可以通过服务来做到这一点。当您订阅时,您需要指出您希望收到通知的频率(最短更新时间),以及您的帖子需要更改多少才能收到更新(最短距离)

    因此,如果你不移动,你只会收到一次你的位置。所以你不是经常跑步。你的工作就是接受这样一个事实:你只得到一次职位

    有关更多信息,请查看android location API:


    并查找
    requestLocationUpdates
    方法

    您不应该使用
    lastKnownLocation
    定期轮询,因为location API已经提供了轮询机制。它比这更复杂。OP需要做出一些决定(见更新的答案)。顺便说一句,如果手机进入睡眠状态,位置API更新将不起作用。如果提供商(gps/网络或您需要的)在别处使用,lastKnownLocation将只返回良好(新)数据,如果不是,您将启动它?因此,在这两种情况下,您最终都会打开提供程序,因此没有任何好处。