淺析Android手機衛(wèi)士手機定位的原理
推薦閱讀:
深入淺析Android手機衛(wèi)士保存密碼時進行md5加密
淺析Android手機衛(wèi)士接收短信指令執(zhí)行相應操作
手機定位的三種方式:網(wǎng)絡定位,基站定位,GPS定位
網(wǎng)絡定位,手機連上wifi 2g 3g的時候,手機會有一個ip,誤差很大
基站定位,精確度與基站的多少有關,幾十米到幾公里的誤差
GPS定位,至少需要三顆衛(wèi)星才能定位,在空曠的地方準確
手機使用A-GPS需要網(wǎng)絡來輔助定位,定位速度快,網(wǎng)絡記錄了上次的衛(wèi)星軌道,
獲取LocationManager對象,通過getSystemService(LOCATION_SERVICE)
調(diào)用LocationManager對象的requestLocationUpdates()方法,請求位置更新,參數(shù):
定位方式(“gps”),更新時間(60000),更新距離(50),LocationListener對象
LocationListener是一個接口,需要做它的實現(xiàn)類
定義MyLocationListener實現(xiàn)LocationListener,實現(xiàn)它下面的方法
onLocationChanged(),當位置改變的時候回調(diào),傳遞進來一個Location對象
調(diào)用location對象的getLongitude()方法,得到經(jīng)度
調(diào)用Location對象的getLatitude()方法,得到維度
調(diào)用Location對象的getAccuracy()方法,得到精確度
onStatusChanged(),當狀態(tài)改變的時候回調(diào),關閉 開啟
onProviderEnabled(),當某一個位置提供者可用了
onProviderDisabled(),當某一個位置提供者不可用了
當activity銷毀的時候,取消監(jiān)聽位置
重寫activity的onDestroy()方法
調(diào)用LocationManager對象的removeUpdates(),取消監(jiān)聽,參數(shù):LocationListener對象
把LocationListener對象置為null,垃圾回收
需要的權限
android.permission.ACCESS_FINE_LOCATION 獲取精準位置
android.permission.ACCESS_COARSE_LOCATION 獲取粗略的位置
android.permission.ACCESS_MOCK_LOCATION 獲取模擬的位置(模擬器開發(fā)的時候)
模擬器上,ddms里面發(fā)送以下位置,才能顯示
國家對坐標進行了加偏處理,變成火星坐標,需要國家測繪局的插件,網(wǎng)上有火星坐標轉換代碼
package com.tsh.mylocation; import android.app.Activity; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends Activity { private LocationManager lm; private LocationListener listener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取位置管理器 lm=(LocationManager) getSystemService(LOCATION_SERVICE); listener=new MyLocationListener(); lm.requestLocationUpdates("gps", 0, 0, listener); } private class MyLocationListener implements LocationListener{ @Override public void onLocationChanged(Location location) { //獲取經(jīng)度 String longitude="經(jīng)度:"+location.getLongitude(); String latitude="緯度:"+location.getLatitude(); String acc="精確度:"+location.getAccuracy(); Toast.makeText(MainActivity.this, longitude+latitude+acc, 1).show(); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } } }
以上所述是小編給大家介紹的Android手機衛(wèi)士手機定位的原理,希望對大家有所幫助!
- Android編程實現(xiàn)號碼歸屬地查詢的方法
- Android手機號碼歸屬地的查詢
- 淺析Android手機衛(wèi)士自定義控件的屬性
- 淺析Android手機衛(wèi)士關閉自動更新
- 詳解Android 手機衛(wèi)士設置向導頁面
- 深入淺析Android手機衛(wèi)士保存密碼時進行md5加密
- 淺析Android手機衛(wèi)士sim卡綁定
- 淺析Android手機衛(wèi)士讀取聯(lián)系人
- 淺析Android手機衛(wèi)士保存手機安全號碼
- 淺析Android手機衛(wèi)士接收短信指令執(zhí)行相應操作
- 淺析Android手機衛(wèi)士之手機實現(xiàn)短信指令獲取位置
- 淺析Android 手機衛(wèi)士設備管理權限鎖屏
- 淺析Android手機衛(wèi)士之號碼歸屬地查詢
相關文章
Android用StaticLayout實現(xiàn)文字轉化為圖片效果(類似長微博發(fā)送)
這篇文章主要給大家介紹了關于Android利用StaticLayout實現(xiàn)文字轉化為圖片效果,實現(xiàn)的效果類似我們常見的長微博效果,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面來一起看看吧。2017-08-08