0%

Android 添加百度地图的问题

好久没写东西了,一直在忙着学 React native

今天给 Android 导入百度地图 的时候遇见定位监听不回调的问题,记录一下。

电脑系统:Mac OS 10.12.4

IDE: Android Studio 2.1.2

JRE: 1.8.0_121-b13 x86_64

手机:Mi-4c

Android Version: 5.1.1LMY47V

1.确定 百度key 设置正确

meta-data 要放在 application 里面。

1
2
3
4
5
<application>  
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>

2.确定权限都添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- 用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 访问网络,网络定位需要上网-->
<!-- SD卡读取权限,用户写入离线定位数据-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>



3. 需要设置 service

也放在 application 里面,后面的版本号与导入的 百度SDK 版本号一致。

1
2
3
4
5
6
7
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote">
<intent-filter>
<action android:name="com.baidu.location.service_v4.3" >
</action>
</intent-filter>
</service>

参考

百度官方文档

http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=10847

http://bbs.csdn.net/topics/390803526