Android 高德地图在华为手机上获取位置信息失败
昨天遇到一个特别奇怪的bug,华为手机获取高德定位信息失败,调试打印数据后发现
location.getAddress()这个获取值为空,之前一直选择高精度模式,但是获取不到位置信息
//设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。 mLocationOption.setLocationMode(AMapLocationMode.Hight_Accuracy);
就把定位模式换成了使用网络定位(Wi-Fi和基站定位)就可以获取到位置信息
低功耗定位模式:不会使用GPS和其他传感器,只会使用网络定位(Wi-Fi和基站定位);
Java
//设置定位模式为AMapLocationMode.Battery_Saving,低功耗模式。
mLocationOption.setLocationMode(AMapLocationMode.Battery_Saving);
这个目前只有在华为手机上出现过,记录一下,华为的GPS还是不行啊
AMapLocationClientOption对象用来设置发起定位的模式和相关参数。
Java
//声明AMapLocationClientOption对象
public AMapLocationClientOption mLocationOption = null;
//初始化AMapLocationClientOption对象
mLocationOption = new AMapLocationClientOption();
选择定位场景
说明:该部分功能从定位SDK v3.7.0开始提供。如果开发者选择了对应的定位场景,那么则不用自行设置AMapLocationClientOption中的其他参数,SDK会根据选择的场景自行定制option参数的值,当然开发者也可以在基础上进行自行设置。实际按最后一次设置的参数值生效。
目前支持3种定位场景的设置:签到、出行、运动。默认无场景。
Java
AMapLocationClientOption option = new AMapLocationClientOption();/*** 设置定位场景,目前支持三种场景(签到、出行、运动,默认无场景)*/option.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn);if(null != locationClient){locationClient.setLocationOption(option);//设置场景模式后最好调用一次stop,再调用start以保证场景模式生效locationClient.stopLocation();locationClient.startLocation();}
选择定位模式
高德定位服务包含GPS和网络定位(Wi-Fi和基站定位)两种能力。定位SDK将GPS、网络定位能力进行了封装,以三种定位模式对外开放,SDK默认选择使用高精度定位模式。
高精度定位模式:会同时使用网络定位和GPS定位,优先返回最高精度的定位结果,以及对应的地址描述信息。
Java
//设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
mLocationOption.setLocationMode(AMapLocationMode.Hight_Accuracy);
低功耗定位模式:不会使用GPS和其他传感器,只会使用网络定位(Wi-Fi和基站定位);
Java
//设置定位模式为AMapLocationMode.Battery_Saving,低功耗模式。
mLocationOption.setLocationMode(AMapLocationMode.Battery_Saving);
仅用设备定位模式:不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位,需要在室外环境下才可以成功定位。注意,自 v2.9.0 版本之后,仅设备定位模式下支持返回地址描述信息。
Java
//设置定位模式为AMapLocationMode.Device_Sensors,仅设备模式。
mLocationOption.setLocationMode(AMapLocationMode.Device_Sensors);
Android 高德地图在华为手机上获取位置信息失败相关推荐
- android地图获取坐标位置,android 百度地图 根据得到的经纬度 获取位置信息
满意答案 回复了sfdzyy 2015.07.03 采纳率:57% 等级:7 已帮助:658人 private GeoCoder mSearch = null; // 搜索模块 // 初始化搜索 ...
- Android微信登录在华为手机上无法调起授权界面的问题
Android微信登录在华为手机上无法调起授权界面的问题 App集成了微信登录,在其他手机上微信登录都可以正常调起微信授权页面,并且登录成功,但是 在华为手机上调用微信登录,没报异常,也无法调起微信授 ...
- 华为手机上获取不到定位信息
项目中用到了webview,然后在H5中用到了定位功能,发现在小米手机上可以定位成功,在华为手机上定位失败.两个手机都是安卓10,因此初步排除了系统版本问题,然后因为项目中是用了腾讯TBS x5内核, ...
- Android高德地图poi检索仿微信发送位置
最近项目需求把发送定位模块改成类似微信发送位置给好友的效果,我使用了高德地图实现了一个demo,效果图如下: 从主界面中我们可以看到中心标记上面显示的就是我们定位的地址,下面是一个listview列表 ...
- 我的高德地图之定位,Marker,位置信息。
高德地图 ---定位,Marker 本期给大家高德地图的展示,和定位,并显示popwindow(当前位置信息),滑动地图实时更新位置信息: 界面预览 具体实现 新司机爬坑 界面预览 具体实现 //地图 ...
- 解决华为手机需要打开位置信息才能定位
该问题只需要设置高德地图设置的定位模式就ok了,不要设置高精度模式,其它两种都ok,根据需求自己取. 三种模式解析如下: 高精度定位模式:会同时使用网络定位和GPS定位,优先返回最高精度的定位结果,以 ...
- Android 在部分华为手机上出现乱码的问题
Android APP 在部分华为手机上出现了乱码问题,找了好久了终于找到原因了 前后台post请求体编码和解码时一致的 URL:UTF-8 但是还是出现了乱码,原因如下: Content-Type: ...
- Android 获取位置信息
本文转自:https://juejin.cn/post/6986580983134814216 Android 提供LocationManager等相关API用于获取位置信息. 一.权限申请 1.1 ...
- Android 获取定位权限,获取位置信息(国家、地区、经纬)
第一步 授权 在 AndroidManifest.xml 中加上位置信息权限按需要添加 <uses-permission android:name="android.permissio ...
最新文章
- 原生态纯JavaScript 100大技巧大收集
- Ubuntu MySQL
- 自己动手写C语言编译器(3)
- 判断单链表是否存在环
- 如何在Oracle11中配置st_shapelib
- HTTP GET与POST区别
- mysql怎么可视化连接_IDEA连接MySQL可视化工具连接操作
- 系统新模块增加需要哪些步骤_防锈高效型干式地暖模块解决了装修施工配合的哪些难点?...
- codeforecs Gym 100286B 	Blind Walk
- 台达vfd一ⅴe变频说明书_PLC运动控制实例解析:PLC与变频器系统
- Safe Or Unsafe(hdu2527)哈弗曼VS优先队列
- Illegal output or inout port connection (port 'out').
- 手机远程访问HTML5,如何使用手机连接远程桌面?
- 阿里云服务器ECS基本操作指南
- Excel里面自动获取当前时间
- Elephant Swap的LaaS方案优势分析,致eToken表现强势
- 移动互联网实战--移动端音频和图形优化处理
- 世界著名人工岛,中国有三个很多人都不知道?
- RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas‘
- Syscall的实现
热门文章
- 自动驾驶方案及相关对标
- 国开电大计算机应用基础(本)形考任务一,国开电大计算机应用基础(本)形考任务三答案...
- JS页面跳转到指定页面返回上一页
- Qt VS版本添加调试器
- PSpice仿真报错ERROR(ORPSIM-15141): Less than 2 connections at node
- StringTokenizer
- 日常记录20191129
- 2021年一战上岸中山大学计算机专硕考研经验(详细时间规划)
- vue移动端vant的layout布局van-row,van-col实现带背景色table表格
- python challenge