![](/img/trans.png)
[英]Using OnStatusChanged to switch to NETWORK_PROVIDER from GPS_PROVIDER?
[英]How to change automatically from GPS_PROVIDER to NETWORK_PROVIDER
有没有我可以使用的代码,所以我不必自己实现它自动从GPS_PROVIDER
更改为NETWORK_PROVIDER
?
实际上我使用这段代码:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
但我想做以下事情:
尝试使用GPS,只要它不可用使用NETWORK_PROVIDER
。 但是当GPS可用时切换到它。 当GPS丢失时切换回NETWORK_PROVIDER
。
Location loc =locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(loc == null)
{
loc = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if(loc != null)
{
//do stuff on network provider
}
} else {
// do stuff on gps provider
}
我会建议一个更好的选择,尝试使用Criteria来选择最好的Provider。 它将自动切换为最佳提供商。
String provider = lm.getBestProvider(criteria, true);
在这里查看更多详细信息。
祝好运
使用这里提到的locationmanager.getProviders。 这样,每次输入您的位置监听器时,您都可以从可用的提供商处选择您的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.