android GPS 位置获取
2014-04-07 18:56
183 查看
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 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android实现Service获取当前位置(GPS+基站)的方法
- Android中通过GPS或NetWork获取当前位置的经纬度
- android 通过GPS获取用户地理位置并监听位置变化
- android通过gps获取定位的位置数据和gps经纬度
- 【代码】android 通过GPS获取用户地理位置并监听位置变化
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android Service获取当前位置(GPS+基站)
- android 通过GPS获取用户地理位置并监听位置变化
- android 通过GPS获取用户地理位置并监听位置变化
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android 使用GPS获取当前地理位置
- android GPS 获取位置
- android 通过GPS获取用户地理位置并监听位置变化
- Android GPS应用:动态获取位置信息
- android:GPS获取location经纬度并用谷歌解析为地理位置名称
- Android打开GPS导航并获取位置信息返回null解决方案
- android 通过GPS获取用户地理位置并监听位置变化
- android通过gps获取到当前位置
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)