当前位置:   article > 正文

Android GPS应用开发_getnumsuccessfulmeasurements()

getnumsuccessfulmeasurements()

Android GPS应用开发

一、支持GPS的核心AP

在Android开发中常常须要用到定位功能,尤其是依赖于地理位置功能的应用。大家首先想到的是使用百度地图、高德地图提供的sdk,但是在只须要经纬度或者城市、街道地址等信息并不须要提供预览地图时我们考虑使用Android系统提供的API来实现。

Android SDK 提供了 android.location 包和 Google Maps API 支持位置服务功能,开发人员可以方便地开发自己的位置服务应用程序。

1、android 定位的几种方式介绍

android 定位一般有四种方法,这四种方式分别是:GPS定位,WIFI定准,基站定位,AGPS定位

2、GPS定位相关类

在开发过程中主要使用android.location包中的LocationManager和LocationProviders对象。

2.1、LocationManager

LocationManager 类用于管理 Android 用户位置服务信息,提供确定用户位置的 API,通过这个类可以实现定位、跟踪和目标趋近等功能。

LocationManager 对象可以完成以下三个方面的任务:

  • 从用户的位置查询所有可用的 LocationProvider 列表。

  • 从特定的 LocationProvider 周期性获取用户当前位置的功能。

  • 当用户位置接近某个特定区域时,启动相关任务。

⭐️ LocationManager 对象不能直接实例化,可以通过 Context.getSystemService(Context. LOCATION_SERVICE) 方法获得。

常用方法:

  • boolean addGpsStatusListener(GpsStatus.Listener listener):添加一个监听GPS状态的监听器

  • void removeGpsStatusListener(GpsStatus.Listener listener):删除Gps状态监听器

  • List getAllProviders():获得所有LocationProvider列表

  • String getBestProvider(Criteria criteria,Boolean enabldOny):根据 criteria 返回最合适的 LocationProvider,其中 criteria 指定了一系列条件

  • Location getLastKnownLocation (String provider):获取缓存中的位置信息, 该方法不会发起监听,返回的是上一次的位置信息,但此前如果没有位置更新的话,返回的位置信息可能是错误的

  • LocationProvider getProvider (String name):获得指定名称的 LocationProvider

  • List getProviders (boolean enabledOnly):获得可用的 LocationProvider 列表

  • addProximityAlert (double latitude, double longitude, float radius, long expiration, PendingIntent intent):添加一个邻近警告

  • removeProximityAlert (PendingIntent intent):删除趋近警告

  • void requestLocationUpdates(String provider, long minTime, float minDistance, PendingIntent intent): 通过指定的LoactionProvider周期性地获取定位信息,并通过intent启动相应的组件

  • void requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener): 通过指定的LocationProvider周期性地获取定位信息,并触发listener所对应的触发器3

  • requestSingleUpdate(String provider, LocationListener listener, Looper looper):获取一次定位结果,如果不想一直监听位置信息,那么可以用requestSingleUpdate来实现只请求一次定位,该方法也要在主线程上执行

  • isProviderEnabled(String provider):判断provider是否可用

2.2、LocationProvider

⭐️ LocationProvider 为位置提供者的抽象类,位置提供者提供手机设备周期性的地理位置报告。

常用方法:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/890016
推荐阅读
相关标签