概述
信噪比概念
信噪比,英文名称叫做SNR或S/N(SIGNAL-NOISE RATIO),又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例
信噪比越大此颗卫星越有效(也就是说可以定位)
- 也就是说 设备搜索到的卫星颗数越多 设备定位效果越好,同时每颗卫星的信噪比值也要越高,如果信噪比值都是0的话;那跟没有搜索到一颗卫星效果是一样的。
获取设备搜索到的卫星颗数
- 首先就是声明权限了大于Android M设备记得动态申请
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- 初始化LocationManager 开启Gps
//位置管理器
private LocationManager manager;
/**
* 初始化定位管理
*/
private void initLocation() {
manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//判断GPS是否正常启动
if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Toast.makeText(this, "请开启GPS导航", Toast.LENGTH_SHORT).show();
//返回开启GPS导航设置界面
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(intent, 0);
return;
}
//添加卫星状态改变监听
manager.addGpsStatusListener(gpsStatusListener);
//1000位最小的时间间隔,1为最小位移变化;也就是说每隔1000ms会回调一次位置信息
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, locationListener);
}
- 这里只关心卫星的一些信息,关于位置、经纬度信息这里就不关心了,所以上面的locationListener就是个空实现;这里重点看下卫星的获取,如下:
private GpsStatus.Listener gpsStatusListener = new GpsStatus.Listener() {
@Override
public void onGpsStatusChanged(int event) {
switch (event) {
//卫星状态改变
case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
//获取当前状态
GpsStatus gpsStatus = manager.getGpsStatus(null);
//获取卫星颗数的默认最大值
int maxSatellites = gpsStatus.getMaxSatellites();
//获取所有的卫星
Iterator<GpsSatellite> iters = gpsStatus.getSatellites().iterator();
//卫星颗数统计
int count = 0;
StringBuilder sb = new StringBuilder();
while (iters.hasNext() && count <= maxSatellites) {
count++;
GpsSatellite s = iters.next();
//卫星的信噪比
float snr = s.getSnr();
sb.append("第").append(count).append("颗").append(":").append(snr).append("n");
}
Log.e("TAG", sb.toString());
break;
default:
break;
}
}
};
到这里基本上就大功告成了,数据都是直接从监听中取出来就好了,输出的结果:
- 通过遍历gpsStatus.getSatellites();统计总卫星颗数同时获取每颗卫星的信噪比
最后
以上就是魁梧大侠为你收集整理的Android中获取GPS搜索到的卫星颗数、并获取每颗卫星的信噪比的全部内容,希望文章能够帮你解决Android中获取GPS搜索到的卫星颗数、并获取每颗卫星的信噪比所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复