您好,登錄后才能下訂單哦!
本文實(shí)例講述了Android編程實(shí)現(xiàn)GPS位置獲取的方法。分享給大家供大家參考,具體如下:
public class GPSInfoService { private static GPSInfoService mInstance; private LocationManager locationManager;//定位服務(wù) 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; } //注冊(cè)定位監(jiān)聽(tīng) public void registenerLocationChangeListener(){ //得到所有的定位服務(wù) // List<String> providers = locationManager.getAllProviders(); // for(String provider:providers){ // Log.i("i", provider); // } //查詢條件 Criteria criteria = new Criteria(); //定位的精準(zhǔn)度 criteria.setAccuracy(Criteria.ACCURACY_FINE); //海拔信息是否關(guān)注 criteria.setAltitudeRequired(false); //對(duì)周?chē)氖虑槭欠襁M(jìn)行關(guān)心 criteria.setBearingRequired(false); //是否支持收費(fèi)的查詢 criteria.setCostAllowed(true); //是否耗電 criteria.setPowerRequirement(Criteria.POWER_LOW); //對(duì)速度是否關(guān)注 criteria.setSpeedRequired(false); //得到最好的定位方式 String provider = locationManager.getBestProvider(criteria, true); //注冊(cè)監(jiān)聽(tīng) locationManager.requestLocationUpdates(provider, 60000, 0, getListener()); } //取消監(jiān)聽(tīng) public void unRegisterLocationChangeListener(){ locationManager.removeUpdates(getListener()); } private MyLocationListener listener; //得到定位的監(jiān)聽(tīng)器 private MyLocationListener getListener(){ if(listener == null){ listener = new MyLocationListener(); } return listener; } //得到上個(gè)地理位置 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();//經(jīng)度 String last_location = "jingdu: " + longitude + ",weidu:" + latitude; Editor editor = sp.edit(); editor.putString("last_location", last_location); editor.commit(); } //gps衛(wèi)星有一個(gè)沒(méi)有找到 public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } //某個(gè)設(shè)置被打開(kāi) public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } //某個(gè)設(shè)置被關(guān)閉 public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } } }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》及《Android資源操作技巧匯總》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。