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

当你看到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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容