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
provider = locationManager.getBestProvider(criteria, true);
listener = new LocationListener(){ @Override
public void onLocationChanged(Location location) { Log.i("onLocationChanged", "changed");
if (location != null) {
lat = location.getLatitude();
lng = location.getLongitude();
Log.i("" + lng, "" + lat);
} else {
Toast.makeText(NearList.this, "定位失败,请重试", Toast.LENGTH_SHORT)
.show();
} bar.setVisibility(View.GONE);
locationManager.removeUpdates(this);
} @Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
} @Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
} @Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER
, 10000, (float)0.0, listener);以前用三星的手机测试可以定位到 但是现在用中兴的手机测试 就不能跳到listener中,用location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);获取时location为null,应该怎样解决 呀
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货