获取系统的定位服务

获取系统的定位服务
// 获取系统的定位服务
lm = (LocationManager) getSystemService(LOCATION_SERVICE);
// List allProviders = lm.getAllProviders();// 获取所有位置提供者
// System.out.println(allProviders);


Criteria criteria = new Criteria();
criteria.setCostAllowed(true);// 是否允许付费,比如使用3g网络定位
criteria.setAccuracy(Criteria.ACCURACY_FINE);// 精确度
String bestProvider = lm.getBestProvider(criteria, true);


listener = new MyLocationListener();
//lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);//参1表示位置提供者,参2表示最短更新时间,参3表示最短更新距离//
lm.requestLocationUpdates(bestProvider, 0, 0, listener);// 参1表示位置提供者,参2表示最短更新时间,参3表示最短更新距离


监听:
class MyLocationListener implements LocationListener{

    	//位置发生变化 
		@Override
		public void onLocationChanged(Location location) {
			String longitude = "经度:"+location.getLongitude();
			String latitude = "纬度:"+location.getLatitude();
			
			String accuracy = "精确度:"+location.getAccuracy();
			String altitude = "海拔:"+location.getAltitude();
		}

		//位置提供者状态发生变化 
		@Override
		public void onStatusChanged(String provider, int status, Bundle extras) {
			System.out.println("onStatusChanged");
		}

		//当用户打开Gps的时候调用
		@Override
		public void onProviderEnabled(String provider) {
			System.out.println("onProviderEnabled");
		}

		//用户关闭Gps时调用
		@Override
		public void onProviderDisabled(String provider) {
			System.out.println("onProviderDisabled");
		}
    	
    }



手动关闭定位:
	protected void onDestroy() {
		super.onDestroy();
		lm.removeUpdates(listener);//当Activity销毁时,停止位置更新,节省电量
	}


权限:




你可能感兴趣的:(Android笔记)