今天因为工作须要,把以前编写的一个GPS测试法度榜样拿出来从新修改了一下。这个法度榜样说起来竽暌剐些汗青了,是我11年编写的,那时刻学了Android开辟没多久,算是一个实验性的作品。如今工作须要,从新拿出来修整。同时发明我对android的GPS办事懂得并不深,所以今天特意浏览了有关GPS办事的一些材料,把相干常识点记录下来。
本人做了GPS相干的嵌入式软件已经几年了,所以说起要做个测试GPS定位模块的法度榜样,第一反竽暌功就是串口攫取GPS模块的数据,然后解析GPS的NMEA格局数据。NMEA是一种标准化数据格局,不仅仅GPS上应用了,其他一些工业通信也是应用这种标准化数据格局。解析相干数据然后显示出来,就完成了一个根本的GPS定位测试功能。
查了一下才发明Android上做GPS相干定位办事,不须要攫取NMEA数据分析,Android已经封装好了相干办事,你要做的就是调用API。这个不知道应当认为爽照样认为纠结。(Android也供给了攫取NMEA接口,下面会说到)
下面我们先来看看Android有关定位办事供给的支撑:
Android定位办事都是位于location下,膳绫擎都有相干解释,这里就不具体解析。有一点有须要说说的是:GpsStatus.NmeaListener 官方的说法是可以攫取NMEA数据,然则我这里测试发明,并没有攫取到NMEA的数据。查阅过一些材料,说是google在底层并没有实现数据反馈的功能。有时光,须要查看一下源码。
2、LocationManager定位
1、Android 定位办事
- //获取定位办事
- LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
- //断定是否已经打开GPS模块
- if (locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {
- //GPS模块打开,可以定位操作
- }
- // 经由过程GPS定位
- String LocateType = locationManager.GPS_PROVIDER;
- Location location = locationManager.getLastKnownLocation(LocateType);
- // 设置监听器,设置主动更新舅鏊殁里设置1000ms,移动距离:0米。
- locationManager.requestLocationUpdates(provider, 1000, 0, locationListener);
- // 设置状况监听回调函数。statusListener是监听的回调函数。
- locationManager.addGpsStatusListener(statusListener);
- //别的给出 经由过程network定位设置
- String LocateType = locationManager.NETWORK_PROVIDER;
- Location location = locationManager.getLastKnownLocation(LocateType);
3、GpsStatus监听器
膳绫擎给出了定位办事的初始化设置步调,但我们都知道GPS卫星是按期广播数据的,也就是说会按期收到卫星的GPS数据。我们并不克不及跟卫星主动申请数据,只能被动吸法术据。(中国的北斗2倒是可以发送卫星报文给卫星)是以我们须要注册一个监听器来处理卫星返回的数据。
- private final GpsStatus.Listener statusListener = new GpsStatus.Listener() {
- public void onGpsStatusChanged(int event) {
- // GPS状况变更时的回调,获取当缁ご态
- GpsStatus status = locationManager.getGpsStatus(null);
- //本身编写的办法,获取卫星状况相干数据
- GetGPSStatus(event, status);
- }
- };
4、获取搜刮到的卫星
- private void GetGPSStatus(int event, GpsStatus status) {
- Log.d(TAG, "enter the updateGpsStatus()");
- if (status == null) {
- }
推荐阅读
【51CTO.com原创稿件】作为“聪明科技”的代名词,无人店同夏末高温一样火热不退。无人店,顾名思义就是借助RFID、智能付出、图像辨认等高科技手段实现店内无人经营的状况,如许>>>详细阅读
本文标题:关于Android的定位服务
地址:http://www.17bianji.com/lsqh/37106.html
1/2 1