1.获取权限定位权限
android.permission.ACCESS_FINE_LOCATION,
android.permission.ACCESS_COARSE_LOCATION
注意6.0以上手机要动态获取权限
2.具体代码实现:
@SuppressLint("MissingPermission")
public void getLocation() {
//1.获取位置管理器
mLocationManager = (LocationManager) CCApplication.getInstance().getSystemService(Context.LOCATION_SERVICE);
//2.获取位置提供器,GPS或是NetWork
List<String> providers = mLocationManager.getProviders(true);
if (providers.contains(LocationManager.NETWORK_PROVIDER)) {
//如果是网络定位
mLocationProvider = LocationManager.NETWORK_PROVIDER;
} else if (providers.contains(LocationManager.GPS_PROVIDER)) {
//如果是GPS定位
mLocationProvider = LocationManager.GPS_PROVIDER;
} else {
return;
}
LogUtils.e(providers);
//3.获取上次的位置,一般第一次运行,此值为null
Location location = mLocationManager.getLastKnownLocation(mLocationProvider);
if (location != null) {
updateUserInfo(location);
String latitude = location.getLatitude(); //纬度
String longitude = location.getLongitude(); //经度
}
}
GitHub: https://github.com/HuaDanJson