Android GPS技术之LocationManager

来源:互联网 发布:淘宝网商品怎么分期购 编辑:程序博客网 时间:2024/05/19 04:26

LocationManager 这个类提供了访问系统位置的服务,该服务允许应用程序获得定期更新设备的地理位置

实例化的时候不能直接实例化 通过Context.getSystemService(Context.LOCATION_SERVICE)获取

LocationManager locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);


LocationProvider类可以获取与位置提供者相关的信息
Location类是对具体位置信息的抽象表示

使用GPS定位的关键之一就是获取LocationProvider,每一个LocationProvider对象都表示一个抽象的定位系统。无论使用GPS做什么,都需要首先获取合适的LocationProvider对象


获取LocationProvider有三个方法

1.获取android 系统所有可用LocationProvider

 List<String> allProvider=locationManager.getAllProviders();

2.根据名称获取LocationProvider

//  获取passive Location Provider
LocationProvider passiveProvider = locationManager.getProvider(LocationManager.PASSIVE_PROVIDER);
//  获取gps Location Provider
LocationProvider gpsProvider = locationManager.getProvider(LocationManager.GPS_PROVIDER);
//  获取network Location Provider
LocationProvider passiveProvider = locationManager.getProvider(LocationManager.NETWORK_PROVIDER);

3.根据条件(Criteria)获取LocationProvider

 Criteria criteria=new Criteria();
 //设置 LocationProvider 免费
 criteria.setCostAllowed(true);
 //设置 LocationProvider 提供高度信息
 criteria.setAltitudeRequired(true);
 //设置LocationProvider 提供方向信息
 criteria.setBearingRequired(true);
 List<String> bestProvider=locationManager.getProviders(criteria, true);


当然LocationManager还提供很多的方法获得LocationProvider

比如 :getBestProvider(Criteria criteria, boolean enabledOnly)

该方法返回一个最适合的LocationProvider


0 0
原创粉丝点击