android – 在网络和GPS提供商之间切换

前端之家收集整理的这篇文章主要介绍了android – 在网络和GPS提供商之间切换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想实现一个locationListener,它将根据可用性在网络和GPS提供商之间切换.

例如,如果GPS未启用,我希望它使用网络,但一旦GPS打开,我希望它停止监听来自网络的位置更新,并开始从GPS听.

同样地,一旦GPS被关闭,我希望它从网络开始监听更新.

那可能吗?

Subquestion

GPS是否与网络一样快提供位置修复?

解决方法

当然,您只需要获取网络和GPS的提供商,并传递您要定位到的位置.Manager.requestLocationUpdates().

当您想停止监听某个提供程序时,请使用locationManager.requestLocationUpdates()中指定的侦听器对象调用locationManager.removeUpdates().

网络:

Criteria crit = new Criteria();
crit.setPowerRequirement(Criteria.POWER_LOW);
crit.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = locationManager.getBestProvider(crit,false);

全球定位系统:

Criteria crit2 = new Criteria();
crit2.setAccuracy(Criteria.ACCURACY_FINE);
provider2 = locationManager.getBestProvider(crit2,false);

您可以使用LocationManager.isProviderEnabled() doc查看是否启用/禁用适当的提供程序. LocationManager文档中有更多的信息可用.

GPS通常比网络慢得多,因为你必须找到3个遥远的卫星等.

原文链接:https://www.f2er.com/android/313494.html

猜你在找的Android相关文章