获取系统的定位服务

来源:互联网 发布:央视新闻数据动画小人 编辑:程序博客网 时间:2024/05/16 17:54
获取系统的定位服务
// 获取系统的定位服务lm = (LocationManager) getSystemService(LOCATION_SERVICE);// List<String> 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{    //位置发生变化 @Overridepublic void onLocationChanged(Location location) {String longitude = "经度:"+location.getLongitude();String latitude = "纬度:"+location.getLatitude();String accuracy = "精确度:"+location.getAccuracy();String altitude = "海拔:"+location.getAltitude();}//位置提供者状态发生变化 @Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {System.out.println("onStatusChanged");}//当用户打开Gps的时候调用@Overridepublic void onProviderEnabled(String provider) {System.out.println("onProviderEnabled");}//用户关闭Gps时调用@Overridepublic void onProviderDisabled(String provider) {System.out.println("onProviderDisabled");}        }



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


权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>


0 0
原创粉丝点击