安卓开发中快速获取手机的经纬度

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

扫描二维码关注公众号,回复: 2194585 查看本文章

    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

猜你喜欢

转载自blog.csdn.net/jason_hd/article/details/80635351