首页 > 系统 > Android > 正文

Android编程实现GPS位置获取的方法

2019-12-12 02:28:25
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表