<sup id="j475w"><legend id="j475w"></legend></sup>
      <blockquote id="j475w"></blockquote>
      
      
      • 咨詢熱線:0755 - 2708 7827
      首頁 > 新聞資訊 > 非常規系統中進行GPS開發注意事項

      非常規系統中進行GPS開發注意事項

      定位技術

      2020年03月05日

      在Android中進行GPS開發,需要涉及LocationManager、LocationProvider、Location三個類。LocationManager類的作用與TelephonyManager、AudioManager等服務類的作用相似,所有GPS定位相關的服務、對象都將由該對象來產生。與程序中獲取TelephonyManager、AudioManager的方法相似 ,程序中獲取LocationManager的實例是通過調用Context的getSystemService()方法來獲取,LocationManager lm = getSystemService(Context.LOCATION_SERVICE);一旦在程序中獲得了LocationManager對象之后接下來即可調用LocationManager的方法來獲取GPS定位的相關服務和對象。定位提供者LocationProvider是GPS定位組件的抽象表示,Android的定位信息就是由它提供的,即,通過LocationProvider類的方法可以獲取定位組件的相關信息。

      Location是位置信息的抽象類,它提供了大量用來獲取定位信息的方法。

      上面三個類就是Android GPS支持的三個核心API,使用它們獲取GPS定位信息的通用步驟為:

      (1) 獲取系統的LocationManager對象。

      (2) 使用LocationManager,通過指定LocationProvider來獲取定位信息,定位信息由Location對象來表示。

      (3) 從Location對象中獲取定位信息。


      當前模擬器所有可用的LocationProvider有如下三個:

      ? network:由LocationManager.NETWORK_PROVIDER常量表示,它代表通過無線信號基站或Wi-fi網絡獲取定位信息的LocationProvider對象。

      ? passive:由LocationManager.PASSIVE_PROVIDER常量表示。

      ? gps:由LocationManager.GPS_PROVIDER常量表示,它代表通過GPS衛星獲取定位信息的LocationProvider對象。

      LocationManager類提供了訪問定位服務的功能,該類提供了如下常用的方法。

      ? boolean  addGpsStatusListener(GpsStatus.Listener listener)添加一個監聽GPS狀態的監聽器。

      ? void  addProximityAlert(double latitude, double longitude, float radius, long expiration, PendingIntent intent)設置當臨近某指定位置(經度,緯度)和半徑的位置時的警告信息。

      ? List<String>  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<String>  getProviders(Criteria criteria, boolean enabledOnly)根據指定條件獲取滿足該條件的全部LocationProvider的名稱。

      ? List<String>  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, LocationListener listener)


      通過指定的LocationProvider周期性地獲取定位信息,并觸發Listener所對應的觸發器

      我們通過調用LocationManager的getAllProviders方法獲取所有LocationProvider時返回的是List<String>集合,集合元素即為LocationProvider的名稱。我們還可以借助于LocationManager的getProvider(String name)方法,獲取指定名稱的LocationProvider對象。


      但大部分時候,應用程序可能希望得到符合指定條件的LocationProvider,這就需要借助于LocationManager的getBestProvider(Criteria criteria,boolean enabledOniy)方法來獲取。除了利用LocationManager類來獲取LocationProvider外,我們還可以借助Criteria類來獲取符合指定條件的LocationProvider。Criteria提供如下常用的方法來設置條件。


      ? void  setAccuracy(int accuracy)設置對LocationProvider的精度要求。

      ? void  setAltitudeRequired(boolean altitudeRequired)設置要求LocationProvider能提供高度信息。

      ? void  setBearingRequired(boolean bearingRequired)設置要求LocationProvider能提供方向信息。

      ? void  setCostAllowed(boolean costAllowed)設置要求LocationProvider是否免費。

      ? void  setPowerRequirement(int level)設置要求LocationProvider的耗電量。



      聲明:以上內容來源于互聯網,如有侵權請聯系刪除,出于分享信息及學習之目的,不代表本網站的觀點、本站不對其真實性負責。

      最新資訊

      • 新能源電車和燃油車的電氣系統電壓的主要區別

      • 汽車GPS定位器行業的趨勢與展望

      • 為何車載北斗GPS終端會定位在非洲?

      • 如何識別車載GPS定位器的通訊信號強弱?

      • 怎樣判斷汽車GPS定位器的定位信號強弱?

      • GPS定位器成為通信網絡和緊急服務的關鍵支柱

      • GPS定位器有線和無線怎么選擇?

      • 保護和加強全球定位系統-GNSS的挑戰與未來

      • 車載GPS定位器無法向平臺告警的幾個原因?

      • 國際合作提升QZSS衛星系統精度

      99久久国产亚洲高清观看2024 | 亚洲精品综合久久| 天天综合久久一二三区| 精品人妻伦九区久久AAA片69| 人妻精品久久久久中文字幕69 | 久久九九久精品国产免费直播| 久久香蕉国产线看观看猫咪?v| 伊人久久大香线蕉av不变影院| 久久精品www| 国产成人精品综合久久久久| 日本精品久久久中文字幕| 久久人妻少妇嫩草AV蜜桃| 久久婷婷久久一区二区三区| 久久久久久久精品妇女99| 青青国产成人久久91网| 日韩人妻无码一区二区三区久久| 狠狠色伊人久久精品综合网| 久久夜色精品国产网站| 香蕉久久永久视频| 国产精品亚洲美女久久久| 久久青青草原精品国产| 精品一二三区久久aaa片| 青青久久精品国产免费看| 国产三级观看久久| 91精品国产综合久久婷婷| 狠狠色噜噜色狠狠狠综合久久| 久久精品国产一区二区| 久久综合九色综合精品| 久久精品国产亚洲AV嫖农村妇女| 久久这里有精品| 日韩精品久久久久久久电影| 精品久久久久中文字| 97久久精品人人做人人爽| 亚洲精品高清国产一久久| 久久天堂电影网| 国产真实乱对白精彩久久| 久久99国产精品99久久| 亚洲欧美日韩精品久久| 色综合久久综合网观看| 精品乱码久久久久久夜夜嗨| AA级片免费看视频久久|