网络定位和gps定位都开,有gps用gps 么有就用网络
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 2000, 0, new MyLocationListener());
private class MyLocationListener implements LocationListener{
@Override
public void onLocationChanged(Location location) {
updateLocation(location);
}
//...
}
LocationListener的四个重载函数具体的调用时间和调用逻辑是什么:
onLocationChanged是在每次收到provider推送的数据后执行吗,那么调用requestLocationUpdates函数注册监听时的参数(最短更新时间和最短更新距离)是什么逻辑?为何参数2000毫秒间隔我却无法受到2000毫秒的返回,这是由于provider处理数据慢的缘故么?
onStatusChanged是指provider的状态变化,那么状态变化的信息从哪提供?是基于provider推送过来的数据包?还是android自身的检测机制?这跟providerEnabled有什么区别?如何判断一个provider是否可用(我不是要判断是不是在系统开启了功能,而是判断能和这个provider建立连接获取数据)?
onProviderEnabled/Disabled 是用户手动启用/关闭时调用吗?
requestLocationUpdates的第二个参数就是位置更新的时间间隔,单位是毫秒,2000就是2秒更新一次