我正在从事地理定位应用程序,因为我想使用全球定位系统提供商,因为它提供比网络provider.But准确的位置,有时室内的全球定位系统信号不到达,然后我想使用网络provider.Whenever信号不到达那个时间,我想使用网络provider.How,我可以在这些供应商之间切换?
谢谢,维沙卡。
发布于 2011-06-08 20:00:15
如果你有一个打开或关闭变量的按钮,你可以像这样在提供者之间切换(很抱歉,这是伪代码)。
if (GPSisOff){
LocationProvider locationProvider = LocationManager.NETWORK_PROVIDER;
} else {
LocationProvider locationProvider = LocationManager.GPS_PROVIDER;
}此外,它还取决于您是否希望它自动检测。如果是这种情况,你可能想要检查从你当前的locationProvider返回的位置(无论是全球定位系统还是网络),并确定它的准确性,并相应地进行切换。
发布于 2011-06-08 19:51:46
在http://developer.android.com/guide/topics/location/obtaining-user-location.html上查看示例。
如果位置提供程序在onStatusChanged方法中暂时不可用,则会通知您的locationListener。
发布于 2012-09-10 18:58:31
您可以做的另一件事是对全球定位系统和网络提供商使用相同的LocationListener。因此,不是只使用gps,也不是只使用网络,你可以同时启用两者,这样你的应用程序的LocationListener将从两个提供商接收位置更新(如果其他提供商无法提供更新,也可以从唯一可用的提供商接收位置更新)。
https://stackoverflow.com/questions/6278216
复制相似问题