Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android基本功:支持GPS的核心API

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

編輯:關於Android編程

一、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信息的通用步驟

              1. 獲取LocationManager對象;

              2. 使用LocationManager,通過制定LocationProvider來獲取定位信息,定位信息由Location表示;

              3. 從Location對象中獲取定位信息;

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved