public static void getLocation() {
LocationManager locationManager = (LocationManager) getSystemService(
Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);//精准模式
criteria.setAltitudeRequired(false);//不需要海拔信息
criteria.setBearingRequired(false);//不需要方位信息
criteria.setCostAllowed(true);//是否允许付费
criteria.setPowerRequirement(Criteria.POWER_LOW);//电量要求低
UIHelper.ToastMessage("正在定位...");
//1000为最短更新间隔(毫秒),0为最短更新距离(米)
//自动寻找最好的provider
locationManager.requestLocationUpdates(
locationManager.getBestProvider(criteria, true), 1000, 0, new LocationListener() {
@Override
public void onLocationChanged(Location location) {
//地理位置改变后的操作
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
//gps状态改变后的操作
}
@Override
public void onProviderEnabled(String provider) {
//location provider被激活后的操作
}
@Override
public void onProviderDisabled(String provider) {
//不能获取地理位置信息
}
});
}