美文网首页Android知识点和文章分享Android知识
解决Android 7.x获取百度SDK定位返回 4.9E-32

解决Android 7.x获取百度SDK定位返回 4.9E-32

作者: 闹闹也会有脾气 | 来源:发表于2017-05-18 08:09 被阅读0次

    当你看到4.9E-324这个参数的时候,首先恭喜你开发百度地图你入门了……

    首先我们抛开Android 系统本身的问题来看下为什么出现这个 4.9E-324 参数呢。一般出先这种问题,原因有几种

    第一、你的配置文件 AndroidManifest.xml(权限,ak)有问题

    第二、so库不全

    第三、网络原因(室内网络差,不能获取互联网)

    第四、Android 系统高版本的新特性

    由于你的设备获取不到定位,所以百度地图SDK的程序源码中就默认写了一个参数值在BDLocation 中

    不管啦,既然有问题就要解决

    解决方案:

    1、查找配置文件AndroidManifest.xml是否丢失配置信息,ak配置是否正确

    这里我就不多说了详情参考百度地图API文档 百度地图API入口

    2、检查你的jniLib中的so库是否齐全,以及版本信息匹配一致

    3、检查网络,是否可以与互联网想通

    4、这是Android 7.x的操蛋问题了,还是老话由于Android 7.x的系统特殊原因,程序获取不到应有的系统权限,所以我们要做动态权限处理,代码如下(自行用IDE格式化)

    // 定位权限

    public booleanrequestLocation() {

      if(ContextCompat.checkSelfPermission(mActivity,  Manifest.permission.ACCESS_COARSE_LOCATION) ==   PackageManager.PERMISSION_GRANTED) {

     return true;

     }

    if(ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION)) {

    // Show Rationale

    ActivityCompat.requestPermissions(mActivity,newString[]{Manifest.permission.ACCESS_COARSE_LOCATION}, Constants.PERMISSIONS.ALL);

    }else{

    //

    ActivityCompat.requestPermissions(mActivity,newString[]{Manifest.permission.ACCESS_COARSE_LOCATION}, Constants.PERMISSIONS.ALL);

    }

    return false;

    }

    相关文章

      网友评论

        本文标题:解决Android 7.x获取百度SDK定位返回 4.9E-32

        本文链接:https://www.haomeiwen.com/subject/iunjxxtx.html