当前位置:首页 > Android > 正文内容

Android基本功:支持GPS的核心API

jsc11年前 (2014-08-27)Android4013


一、LocationManager类

        作用和TelephonyManager,AudioManager等服务类的作用类似,所有GPS定位相关的服务、对象都由该对象产生;

        通过调用Context.getSystemService()方法获取实例对象;

        提供如下方法:

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

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

            List getAllProviders():获取所有的LocationProvider列表;

            String getBestProvider(Criteria criteria,boolean enabledOnly):根据制定条件返回最优的LocationProvider对象;

            GpsStatus getGpsStatus(GpsStatus status):获取GPS状态;

            Location getLastKnownLocation(String provider):根据LocationProvider获取最近一次已知的Location;

            LocationProvider getProvider(String name):根据名称来获取LocationProvider;

            List getProviders(Criteria criteria,boolean enabledOnly):根据制定条件获取满足条件的全部LocationProvier的名称;

            List getProviders(boolean enabledOnly):获取所有可用的LocationProvider;

            boolean isProviderEnabled(String provider):判断制定名称的LocationProvider是否可用;

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

            void removeProximityAlert(PendingIntent intent):删除一个趋近警告;

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

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


二、LocationProvider类

           定位组件的抽象标识,通过它可以获取定位的相关信息;

          提供如下常用方法:

                  String getName():返回该LocationProvider的名称;

                  int getAccuracy():返回该LocationProvider的精度;

                  int getPowerRequirement():返回该LocationProvider的电源需求;

                  boolean hasMonetaryCost():返回LocationProvider是收费还是免费;

                  boolean meetsCriteria(Criteria criteria):判断该LocationProvider是否满足Criteria条件;

                  boolean requiresCell():判断该LocationProvider是否需要访问网路基站;

                  boolean requiresNetword():判断该LocationProvider是否需要网路数据;

                  boolean requiresStatellite():判断该LocationProvider是否需要访问卫星的定位系统;

                  boolean supportsAltitude():判断该LocationProvider是否支持高度信息;

                  boolean supportsBearing():判断该LocationProvider是否支持方向信息;

                  boolean supportsSpeed():判断该LocationProvider是否支持速度信息;


 三、Location类

                代表位置信息的抽象类;

                 提供如下方法来获取定位信息:

                 float getAccuracy():获取定位信息的精度;

                 double getAltitude():获取定位信息的高度;

                 float getBearing():获取定位信息的方向;

                 double getLatitude():获取定位信息的经度;

                 double getLongitude():获取定位信息的纬度;

                 String getProvider():获取提供该定位信息的LocationProvider;

                  float getSpeed():获取定位信息的速度;

                  boolean hasAccuracy():判断该定位信息是否有经度信息;

                  boolean hasAltitude():判断定位信息是否有高度信息;

                  boolean hasBearing():判断定位信息是否有方向信息;

                  boolean hasSpeed():判断定位信息是否有速度信息;


四、获取GPS信息的通用步骤

                  获取LocationManager对象;

                   使用LocationManager,通过制定LocationProvider来获取定位信息,定位信息由Location表示;

                   从Location对象中获取定位信息;


扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://jsc0.com/post/13.html

标签: GPS
分享给朋友:

“Android基本功:支持GPS的核心API” 的相关文章

java.util.Properties类

java.util.Properties类

一、认识properties文件   1、properties文件是一个文本文件 2、properties文件的语法有两种,一种是注释,一种属性配置。  注    释...

实现应用程序只有在第一次启动时显示引导界面

第一次安装启动:启动页--->导航页-->主页面之后启动:启动页-->主页面实现的原理就是:在启动页面用做一个文件保存的状态,保存程序是不是第一次启动的状态。因为只是要保存一个状态,我们将这个程序是第一次打开就将他设为true,当他进入 主页面之后将他的状态未为false,因为都...

ViewPager + HorizontalScrollView 实现可滚动的标签栏

ViewPager + HorizontalScrollView 实现可滚动的标签栏

这是一个可滑动的标签栏的自定义控件,参考此文章http://blog.csdn.net/fx_sky/article/details/8990573,我将主要的功能整合成一个类,配上2个特定的布局即可使用。 效果图:    主要布局文件:<?xml&nb...

onTextChanged参数解释及实现EditText字数监听

由于最近做项目要检测EditText中输入的字数长度,从而接触到了Android中EditText的监听接口,TextWatcher。它有三个成员方法,第一个after很简单,这个方法就是在EditText内容已经改变之后调用,重点看下面两个方法:beforeTextChanged(CharSequ...

制作一款Android APK管理器主要代码

Android APK管理器代码,主要就是两个列表,一个显示SD卡上面的APK文件的list,一个显示已经安装的app的list。1:获取SD卡上的APK安装文件后,要用代码读出APK里面的信息,如icon等,的主要代码如下:private void getUninatllApk...

Android开发之资源文件存储

在android开发中,资源文件是我们使用频率最高的,无论是string,drawable,还是layout,这些资源都是我们经常使用到的,而且为我们的开始提供很多方便,不过我们平时接触的资源目录一般都是下面这三个。        /res...