android 获得地理位置遇到location==null为空的问题

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都不行....

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值