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

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

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

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

第二、so库不全

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

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

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

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

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

解决方案:

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;

}

    原文作者:闹闹也会有脾气
    原文地址: https://www.jianshu.com/p/c8e28025411f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞