android关于LocationManager的gps定位

LocationManager提供了两种定位当前位置的方法 GPS和NETWORK 其中gps的误差大概50m左右 network大概500m

起初当gps打开后 我使用Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);来获取location 可是一直为null不知道是什么原因 网上搜了很久终于找到了解决方案


android有一个Criteria类可以直接判断当前适合用gps或者network 并且设置LocationListener监听器实时更新location 直接上代码


private void getLocalAddress() {

LocationManager 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);

String provider = locationManager.getBestProvider(criteria, true);

Location location = locationManager.getLastKnownLocation(provider);

//updateWithNewLocation(location);

locationManager.requestLocationUpdates(provider, 2000, 10,

locationListener);

updateWithNewLocation(location);

}



private final LocationListener locationListener = new LocationListener() {

public void onLocationChanged(Location location) {

updateWithNewLocation(location);

}


public void onProviderDisabled(String provider) {

updateWithNewLocation(null);

}


public void onProviderEnabled(String provider) {

}


public void onStatusChanged(String provider, int status, Bundle extras) {

}

};



private void updateWithNewLocation(Location location) {

String latLongString;

TextView myLocationText;

if (location != null) {

double lat = location.getLatitude();

double lng = location.getLongitude();

latLongString = "纬度:" + lat + "\n经度:" + lng;

} else {

latLongString = "无法获取地理信息";

}

Toast.makeText(SearchXiaoQuActivity.this, latLongString,

Toast.LENGTH_LONG).show();

}


更多相关文章

  1. [Android]在Manifest中注册广播监听器
  2. Android 定位自己当前位置信息
  3. (转)Android中LocationManager的简单使用,获取当前位置
  4. android地图获取当前位置,气泡标志,点击气泡跳转到另一个界面
  5. Android 获取地理位置的经度和纬度(zz)
  6. android添加监听器
  7. [Android]在Avtivity中注册监听器
  8. android 百度地图的经度纬度问题
  9. Android中LocationManager的简单使用,获取当前位置

随机推荐

  1. zbar android sdk源码编译
  2. 如何调试跟踪Android源代码
  3. android字体大小的设置
  4. 初涉Android蓝牙开发
  5. Android能够获取到唯一的设备ID吗?
  6. Android实现圆角矩形和圆形ImageView的方
  7. Android 进程间通信(IPC)
  8. Android Studio 解决The SDK platform-to
  9. Android(安卓)IPC之 Service和Messenger
  10. 【自用】Android中一个简单的计时器,用Han