編輯:關於Android編程
推薦閱讀:
淺析Android手機衛士sim卡綁定
深入淺析Android手機衛士保存密碼時進行md5加密
詳解Android 手機衛士設置向導頁面
淺析Android手機衛士關閉自動更新
淺析Android手機衛士自定義控件的屬性
淺析Android手機衛士讀取聯系人
淺析Android手機衛士接收短信指令執行相應操作
手機定位的三種方式:網絡定位,基站定位,GPS定位
網絡定位,手機連上wifi 2g 3g的時候,手機會有一個ip,誤差很大
基站定位,精確度與基站的多少有關,幾十米到幾公裡的誤差
GPS定位,至少需要三顆衛星才能定位,在空曠的地方准確
手機使用A-GPS需要網絡來輔助定位,定位速度快,網絡記錄了上次的衛星軌道,
獲取LocationManager對象,通過getSystemService(LOCATION_SERVICE)
調用LocationManager對象的requestLocationUpdates()方法,請求位置更新,參數:
定位方式(“gps”),更新時間(60000),更新距離(50),LocationListener對象
LocationListener是一個接口,需要做它的實現類
定義MyLocationListener實現LocationListener,實現它下面的方法
onLocationChanged(),當位置改變的時候回調,傳遞進來一個Location對象
調用location對象的getLongitude()方法,得到經度
調用Location對象的getLatitude()方法,得到維度
調用Location對象的getAccuracy()方法,得到精確度
onStatusChanged(),當狀態改變的時候回調,關閉 開啟
onProviderEnabled(),當某一個位置提供者可用了
onProviderDisabled(),當某一個位置提供者不可用了
當activity銷毀的時候,取消監聽位置
重寫activity的onDestroy()方法
調用LocationManager對象的removeUpdates(),取消監聽,參數:LocationListener對象
把LocationListener對象置為null,垃圾回收
需要的權限
android.permission.ACCESS_FINE_LOCATION 獲取精准位置
android.permission.ACCESS_COARSE_LOCATION 獲取粗略的位置
android.permission.ACCESS_MOCK_LOCATION 獲取模擬的位置(模擬器開發的時候)
模擬器上,ddms裡面發送以下位置,才能顯示
國家對坐標進行了加偏處理,變成火星坐標,需要國家測繪局的插件,網上有火星坐標轉換代碼
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) {
//獲取經度
String longitude="經度:"+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手機衛士手機定位的原理,希望對大家有所幫助!
android之Activity的生命周期
1、Activity簡介: Activity可以簡單理解為android手機應用程序中的每一個界面, 其有相應的實現Activity類的java類文件(相當於手機界面控
Android布局小結
1.FrameLayout 幀布局,效果為多個圖層依次疊加,比如說畫一幅畫,在FrameLayout中先添加背景imageView,再添加其他的事物imageView即可
Android - ToDoList(fragment) 詳解
ToDoList(fragment) 詳解 版權所有, 禁止轉載, 如有需要, 請站內聯系. Fragment(碎片) 可以靈活
如何在XML中定義菜單
和Android UI layout一樣,我們也可以在XML中定義應用程序的菜單。通過在菜單的onCreateOptionsMenu方法中膨脹菜單layout。這樣做會使