Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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/joomla/2.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';s locationlistener是否要获取提供程序位置?_Android_Geolocation - Fatal编程技术网

如何强制android';s locationlistener是否要获取提供程序位置?

如何强制android';s locationlistener是否要获取提供程序位置?,android,geolocation,Android,Geolocation,我已经编写了一个小应用程序,通过使用locationManager和NETWORK_PROVIDER参数从移动3g/wifi接收位置信息。 根据谷歌的api,它将获得我想要的位置(另一个选项是使用GPS_提供商) 我真正想要的是WIFI位置。我想看看它的行为,以及手机是如何定位的(比如wireshark) 为了做到这一点,我切换到飞行模式&激活wifi。 然后,我启动了应用程序并单击按钮,通过调用requestLocationUpdates函数(时间参数=10)启动网络提供商位置服务。 实际发生

我已经编写了一个小应用程序,通过使用locationManager和NETWORK_PROVIDER参数从移动3g/wifi接收位置信息。 根据谷歌的api,它将获得我想要的位置(另一个选项是使用GPS_提供商) 我真正想要的是WIFI位置。我想看看它的行为,以及手机是如何定位的(比如wireshark) 为了做到这一点,我切换到飞行模式&激活wifi。 然后,我启动了应用程序并单击按钮,通过调用requestLocationUpdates函数(时间参数=10)启动网络提供商位置服务。 实际发生的情况是,我设法找到了位置,但在wireshark一点交通都没有。 是不是谷歌在连接wifi时提前给了我大概的位置?(这是唯一的解释) 如果是这样的话,是否可以清除该缓存或它存储的任何数据,并强制手机获取新的(但相同的)位置

提前感谢,,
Eran.

您是否尝试重新启动手机,只是为了删除可能存储位置的任何缓存文件?

因为网络提供商使用手机位置、wifi ssid及其信号强度来获取您的GPS坐标


由于您处于飞行模式,无法获取手机位置,请尝试切换连接的wifi,可能会调用google服务获取新位置。

我尝试重新启动设备,它会清除存储的任何缓存。但我想我没有办法看到负责wifi位置的确切数据包。它只是进入我的google帐户的全部数据的一部分,在同一个流中。。谷歌没有采取“懒惰的态度”,即“需要时计算”,他们甚至将自己的位置(如果我可能不需要的话)作为整个数据的一部分发送给我,尽管我只是连接到我的谷歌账户,但它帮助了我,一旦我在飞机模式下重新启动设备,requestLocationUpdates就不会返回任何答案。我想不会有数据传输(可以在wireshark中看到),因为(据我所知),谷歌一定在维护wifi网络及其附近位置的某种列表。一个简单的扫描可能会给出可用wi-fi网络的列表,但这可能不足以让谷歌为这些可用网络标记位置。此外,wi-fi网络可能仅在从网络提供商获得一些粗略位置后用作细化措施。