前段时间北斗导航系统全球组网的最后一个卫星编组入网的消息可谓是使我广大同学都大大振奋了一把,作为一个地道的码工,第一时间想到了怎么用Android系统的API获取北斗导航的相关参数。先去北斗官网逛了一圈,发现并没有针对移动设备开放的api。没关系,条条大路通北京,咱们还有别的方案,去Android系统api求证,看看是否有北斗相关信息。一查,果真有!good!

在Android源码里,最新的卫星信息实体类里里面,有几个非常耀眼的全局常量,各位客官上眼:

这几个常量是,目前主流的导航系统的分类,北斗的汉语拼音beidou几个闪耀的大字赫赫在目,激动不,意外不,直上云霄了不!没错,Android源码里早就有了咱们北斗的标记,接下来看看主要代码,怎么获取卫星信息及区别出北斗卫星的信息,有几个常用的公用方法来获取卫星的一些详细信息,当然不可能太详细,

咱们看看在代码里怎么写吧,如下

/*** 初始化定位管理,android自带卫星*/
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;}//添加卫星状态改变监听if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) !=     PackageManager.PERMISSION_GRANTED) {return;}if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {manager.registerGnssStatusCallback(new LocaCallback());}//1000位最小的时间间隔,1为最小位移变化;也就是说每隔1000ms会回调一次位置信息manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, new LocationListener() {@Overridepublic void onLocationChanged(Location location) {tv_loc.setText("经度:"+location.getLongitude()+",纬度:"+location.getLatitude());}@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}@Overridepublic void onProviderEnabled(String provider) {}@Overridepublic void onProviderDisabled(String provider) {}});
}

上段代码是初始化卫星定位管理类的,主要一段代码是manager.registerGnssStatusCallback(new LocaCallback());此句是设置卫星转态回调类,这个类需要自己实现并继承GnssStatus.Callback,如下

@RequiresApi(api = Build.VERSION_CODES.N)
public class LocaCallback extends GnssStatus.Callback {@Overridepublic void onSatelliteStatusChanged(GnssStatus status) {super.onSatelliteStatusChanged(status);satelliteCount=status.getSatelliteCount();//解析组装卫星信息makeGnssStatus(status,satelliteCount);}@Overridepublic void onStarted() {super.onStarted();}@Overridepublic void onStopped() {super.onStopped();}
}

上段代码makeGnssStatus(status,satelliteCount);方法,如下

@RequiresApi(api = Build.VERSION_CODES.N)
private void makeGnssStatus(GnssStatus status,int satelliteCount){//当前可以获取到的卫星总数,然后遍历if(satelliteCount>0){for (int i = 0; i < satelliteCount; i++) {//GnssStatus的大部分方法参数传入的就是卫星数量的角标//获取卫星类型int type=status.getConstellationType(i);if(GnssStatus.CONSTELLATION_BEIDOU==type){//北斗卫星类型的判断}}}
}

好,以上几个方法就能,完全获取到所需要的卫星信息。

Android最新API获取北斗卫星定位信息(全网最新)相关推荐

  1. Android开发问题集锦(六)--获取北斗卫星定位信息

    Android开发问题集锦六--获取北斗卫星定位信息 程序之美 程序之美 获取北斗卫星定位信息需要硬件的支持,市面上的手机设备有支持北斗定位的,有不支持的,但北斗定位在很多特定的业务需求中是很重要的, ...

  2. 百度地图利用位置提供服务器,利用百度地图API获取当前位置信息的实例

    利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了.这里分享一个制作的JS可以实现登录网页后定位: var map; var gpsPoint; var baiduPoint; ...

  3. Python 使用 twitter API 获取twitter用户信息

    Python 使用 twitter API 获取twitter用户信息 1. 概述 twitter作为国外极其大众化的社交平台,具有大量的海外用户,平台流动数据量极大,是国外人群生活数据的重要来源之一 ...

  4. Python3 | 通过百度地图API获取商家详细信息(包括店名,地址,经纬度,电话)

    一.打开百度地图开放平台,选择Web服务API . ​​​​​​官方文档对API接口的调用描述的比较详细,在调用之前先要申请百度地图的账号,然后申请密钥,获取密钥的步骤官方也有说明. 二.通过百度地图 ...

  5. 小程序笔记(9)调用腾讯api获取周边饮食店信息

    调用腾讯api获取周边饮食店信息 实现功能 实现流程 基本逻辑实现 开始注册key 开始代码 先配置app.json中的权限获取 index.wxml index.wxss index.jssssss ...

  6. android 微信授权获取用户个人信息

    微信官方文档API:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Development_Guide.h ...

  7. 使用Python和Jenkins REST API获取git changes信息

    因为工作中发生过很严重的 Regression Issue,当时的解决方案是在Daily Build中使用二分法找到出问题的Build, 过程比较繁琐,所以就有了这么个需求,要求记录Daily Bui ...

  8. JavaScript使用百度地图API获取当前位置信息

    使用步骤: 一.百度开放API平台申请AK 二.在线引入API 或者使用 npm 三.使用API获取位置 注意:百度API. 高德API 商业用途,均需授权 引用与配置 方式一 .在线引入API: & ...

  9. Android开发之获取SIM卡信息和手机号码

    获取SIM卡信息和手机号码的工具类,记录一下方便以后使用 import android.content.Context; import android.telephony.TelephonyManag ...

  10. android 安卓APP获取手机设备信息和手机号码的代码示例

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

最新文章

  1. SnackbarUtilDemo【Snackbar的封装类】
  2. 持续交付流水线的敏捷利器:环境配置管理与应用部署自动化
  3. angularjs定义对集合进行过滤的过滤器
  4. 【集训队作业2018】围绕着我们的圆环
  5. 【控制】《多无人机协同控制技术》周伟老师-第3章-面向协同控制的无人机单机控制
  6. Redis-09Redis的基础事务
  7. java弹框形式输入_java中点击一个按钮弹出两个输入文本框的源代码
  8. thinkphp 学习 (资料收集)
  9. RHEL5中mdadm配置raid5磁盘阵列
  10. JDK 5.0 中的泛型类型学习
  11. 佳能G3800黄灯绿灯交替闪烁7次,错误代码5B00
  12. iOS 蓝牙扫描设备注意 2021-10-12
  13. 征信报告HTML文件修改,征信记录竟然可以修改!
  14. 比特大陆招股书泄露的天机:吴忌寒月薪1.5万,但去年年终奖1.4亿
  15. 淘客发单机器人wztools_在淘客的迷茫中,拼多多给了我一丝光明
  16. 世界上第一台电子计算机名称叫什么,世界上第一台电子计算机的名字是什么
  17. 蓝桥杯2020年第十一届省赛真题-走方格-java
  18. python 千位分隔符_千位分隔符的完整攻略
  19. 第三章 迭代器(iterators)概念与traits编程技法
  20. 机器学习——统计学三大相关性系数(pearson、spearman、kendall)

热门文章

  1. 人工智能吹来的是失业的寒风还是发展的春风?
  2. R语言使用t.test函数执行t检验获取总体平均值的置信区间(默认输出结果包括95%置信水平的置信区间)
  3. 转行测试,11k入职,我写了份1000多字的分享,每一笔都是经历
  4. 【转】iPhone通讯录AddressBook.framework和AddressBookUI.framework的应用
  5. 有了这些好看的流程图模板,你也可以画出漂亮的流程图
  6. 范数、损失函数、标准差
  7. php控制wifi上网时长,腾达路由器家长控制功能怎么控制孩子上网时间
  8. 年轻人逃离一线城市:外地人生存环境愈发严峻
  9. 客服客户聊天系统源码分享
  10. 用初等解法解特定差分方程(韦达定理的应用)