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

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

jsc11年前 (2014-08-27)Android3594


一、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” 的相关文章

Android中AsyncTask的简单用法

Android中AsyncTask的简单用法

        在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好 的用户体验。但是在子线程中无法去操作主线程(UI 线...

java.util.Properties类

java.util.Properties类

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

【代码】android 调用系统视频录制并生成缩略图

package com.example.videocapture; import android.app.Activity; import android.content.Intent; import android.database.Cursor;...

Android采用SharedPreferences保存用户登录信息

Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用 SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared...

Android ImageView的scaleType属性与adjustViewBounds属性

Android ImageView的scaleType属性与adjustViewBounds属性

ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY android:sca...

Android应用加入微信分享

Android应用加入微信分享

一、申请你的AppIDhttp://open.weixin.qq.com/  友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID二、官网下载libammsdk.jar包http://open.weixin.qq.com/download/?lang=zh_...