获取系统的定位服务
发布日期:2021-06-30 18:38:17 浏览次数:3 分类:技术文章

本文共 1476 字,大约阅读时间需要 4 分钟。

获取系统的定位服务
// 获取系统的定位服务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销毁时,停止位置更新,节省电量	}
权限:

转载地址:https://linqiarui.blog.csdn.net/article/details/50764580 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:获取sim卡信息
下一篇:监听edittext的文字变

发表评论

最新留言

不错!
[***.144.177.141]2024年04月26日 00时55分00秒