您好,登錄后才能下訂單哦!
本文實例講述了Android編程實現GPS位置獲取的方法。分享給大家供大家參考,具體如下:
public class GPSInfoService { private static GPSInfoService mInstance; private LocationManager locationManager;//定位服務 private GPSInfoService(Context context) { // TODO Auto-generated constructor stub locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); } public static GPSInfoService getInstance(Context context){ if(mInstance == null){ mInstance = new GPSInfoService(context); } return mInstance; } //注冊定位監聽 public void registenerLocationChangeListener(){ //得到所有的定位服務 // List<String> providers = locationManager.getAllProviders(); // for(String provider:providers){ // Log.i("i", provider); // } //查詢條件 Criteria criteria = new Criteria(); //定位的精準度 criteria.setAccuracy(Criteria.ACCURACY_FINE); //海拔信息是否關注 criteria.setAltitudeRequired(false); //對周圍的事情是否進行關心 criteria.setBearingRequired(false); //是否支持收費的查詢 criteria.setCostAllowed(true); //是否耗電 criteria.setPowerRequirement(Criteria.POWER_LOW); //對速度是否關注 criteria.setSpeedRequired(false); //得到最好的定位方式 String provider = locationManager.getBestProvider(criteria, true); //注冊監聽 locationManager.requestLocationUpdates(provider, 60000, 0, getListener()); } //取消監聽 public void unRegisterLocationChangeListener(){ locationManager.removeUpdates(getListener()); } private MyLocationListener listener; //得到定位的監聽器 private MyLocationListener getListener(){ if(listener == null){ listener = new MyLocationListener(); } return listener; } //得到上個地理位置 public String getLastLocation(){ return sp.getString("last_location", ""); } private final class MyLocationListener implements LocationListener{ //位置的改變 public void onLocationChanged(Location location) { // TODO Auto-generated method stub double latitude = location.getLatitude();//維度 double longitude = location.getLongitude();//經度 String last_location = "jingdu: " + longitude + ",weidu:" + latitude; Editor editor = sp.edit(); editor.putString("last_location", last_location); editor.commit(); } //gps衛星有一個沒有找到 public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } //某個設置被打開 public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } //某個設置被關閉 public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } } }
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android控件用法總結》、《Android視圖View技巧總結》、《Android操作json格式數據技巧總結》、《Android開發入門與進階教程》及《Android資源操作技巧匯總》
希望本文所述對大家Android程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。