LocationManager locationManager;
Location location;
String[] lbsStr = null;
String provider = "";
if (!isSupport())
return null;
// 获取 LocationManager 服务
locationManager = (LocationManager) ctx.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);
// 返回最合适的符合条件的 provider ,第 2 个参数为 true 说明 , 如果只有一个 provider 是有效的 ,
// 则返回当前
// provider
provider = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(provider, 1000, 0, this);
// 获取位置
location = locationManager.getLastKnownLocation(provider);
if (location != null) {
double lng = location.getLongitude();
double lat = location.getLatitude();
lbsStr = new String[2];
lbsStr[0] = "" + lng;
lbsStr[1] = "" + lat;
}
tv.setText(lbsStr+"----");
网上有很多这样的例子....但是总是为Null...最后测试的结果是行货的手机的api被修改了,
google的一些服务被掩掉了...比如乐Phone...moto...华为的,sharp都不行....