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

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

jsc11年前 (2014-08-27)Android4057


一、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 线...

Android中Parcelable接口用法

1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface m...

android悬浮窗口的实现

android悬浮窗口的实现

       当我们在手机上使用360安 全卫士时,手机屏幕上时刻都会出现一个小浮动窗口,点击该浮动窗口可跳转到安全卫士的操作界面,而且该浮动窗口不受其他activity的覆盖影响仍然可 见(多米音乐也有相关的和主界面交互的...

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

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

Fragment生命周期

Fragment生命周期

onAttach方法:Fragment和Activity建立关联的时候调用。onCreateView方法:为Fragment加载布局时调用。onActivityCreated方法:当Activity中的onCreate方法执行完后调用。onDestroyView方法:Fragment中的布局被移除时...

Android ImageView的scaleType属性与adjustViewBounds属性

Android ImageView的scaleType属性与adjustViewBounds属性

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