Android获取当前位置信息,百分之百有效

1 篇文章 0 订阅
1 篇文章 0 订阅
private String provider;

    // get current location
    private Location getMyLocation() {
        if (locationManager

                .isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {

locationManager.requestLocationUpdates(
                    LocationManager.GPS_PROVIDER, 100, 0, this);

            if (locationManager

                    .isProviderEnabled(android.location.LocationManager.NETWORK_PROVIDER)) {

  locationManager.requestLocationUpdates(
                    LocationManager.NETWORK_PROVIDER, 0, 0, this);//这个只要手机联网百分之百能获取到

                Criteria c = new Criteria();
                c.setAccuracy(Criteria.ACCURACY_FINE);
                c.setAltitudeRequired(false);
                c.setBearingRequired(false);
                c.setCostAllowed(true);
                c.setPowerRequirement(Criteria.POWER_LOW);
                provider = locationManager.getBestProvider(c, true);
                Location location = locationManager
                        .getLastKnownLocation(provider);
                if (location != null) {
                    return location;
                }
            } else {
                Toast.makeText(getActivity(), "请连接网络", Toast.LENGTH_LONG)
                        .show();
            }
        } else {
            Toast.makeText(getActivity(), "请打开GPS开关", Toast.LENGTH_LONG).show();
        }
        return null;

    }    

//上面的获取可能为null,下面的绝对不会为null,前提是手机联网

@Override
    public void onLocationChanged(Location location) {
        if (location != null) {
            myLocation = location;
            LogUtils.i("myLocation-changed", "lat:" + myLocation.getLatitude()
                    + "lng:" + myLocation.getLongitude());
        }
    }


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值