卫星数量有两种:卫星总数(all),和已校准卫星数(fixed);
卫星数量来源于gps定位数据,gps数据来源又有两种:内置gps和外接gps设备。
一、内置gps数据来源的计算方式
开始启用内置gps时,通过LocationManager.addGpsStatusListener()api,监听gps状态,在监听的回调中计算卫星数量,代码:
mGpsStatusCallback = new GpsStatus.Listener() {
@Override
public void onGpsStatusChanged(int event) {
if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) {
//卫星状态改变
fetchCurGpsStatus();
}
}
};
mService = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE);
mService.addGpsStatusListener(mGpsStatusCallback);
注册监听永远要记得在不再需要时解除监听,当关闭内置gps时,移除监听:
mService.removeGpsStatusListener(mGpsStatusCallback);
卫星状态改变时,首先获取GpsStatus,通过如下方式处理:
1,通过GpsStatus获取