Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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
Android 意外行为-使用融合位置提供程序捕获后台位置_Android_Locationmanager_Fusedlocationproviderapi_Android Fusedlocation - Fatal编程技术网

Android 意外行为-使用融合位置提供程序捕获后台位置

Android 意外行为-使用融合位置提供程序捕获后台位置,android,locationmanager,fusedlocationproviderapi,android-fusedlocation,Android,Locationmanager,Fusedlocationproviderapi,Android Fusedlocation,我正在尝试使用融合位置提供者,以高精度的优先级每半小时捕获一次背景位置。为了实现这一点,我使用了带有BroadcastReceiver的PendingEvent,并每三十分钟请求一次位置更新。开放性问题:-1。尽管文档中说setInterval(长持续时间)本质上是不精确的,但我有时几个小时都没有得到位置更新。事实上,有时它看起来已经完全停止了位置更新 二,。尽管GPS一直处于开启状态,并且在移动中,但有时我得到的位置为空,这令人担忧 上述问题使得后台的位置更新逻辑不太可靠。我可以使用Alarm

我正在尝试使用融合位置提供者,以高精度的优先级每半小时捕获一次背景位置。为了实现这一点,我使用了带有BroadcastReceiver的PendingEvent,并每三十分钟请求一次位置更新。开放性问题:-1。尽管文档中说setInterval(长持续时间)本质上是不精确的,但我有时几个小时都没有得到位置更新。事实上,有时它看起来已经完全停止了位置更新 二,。尽管GPS一直处于开启状态,并且在移动中,但有时我得到的位置为空,这令人担忧 上述问题使得后台的位置更新逻辑不太可靠。我可以使用Alarm manager每半小时唤醒一次并请求位置更新,但这看起来是一种开销,而且这也不能保证收到的位置更新不会为空 有什么想法吗?

永远无法保证位置会返回给您,因此您必须始终处理空位置。我们能否确保在大约半小时内触发位置更新?与通常的行为不同,在某些情况下,它在数小时/数天内不会触发?我知道从系统的角度来看,这将不是最佳的,但是否有任何API支持这种行为?请确保不要使用
setInexactRepeating
setExact
没有像setInexactRepeating或setExact这样的API。暴露的api是LocationRequest类中的setInterval。我是不是遗漏了什么?我以为你在使用
AlarmManager
?AlarmManager是确保您的位置服务在正确时间启动的唯一方法