今天使用腾讯地图开放平台的定位服务时,没有注意监测位置监听服务器是否注册成功,找了半天的错。
大家在使用时,注意用:
int
error = locationManager.requestLocationUpdates(request, listener);
这段代码来判断监听器是否注册成功,如果没有成功,根据下表进行判断:
返回值 | 含义 |
---|---|
0 | 注册位置监听器成功 |
1 | 设备缺少使用腾讯定位SDK需要的基本条件 |
2 | 配置的 key 不正确 |
3 | 自动加载libtencentloc.so失败,可能由以下原因造成: 1、这往往是由工程中的so与设备不兼容造成的,应该添加相应版本so文件; 2、如果您使用AndroidStudio,可能是gradle没有正确指向so文件加载位置,可以按照这里配置您的gradle; |
我的错误码是3,后经排查是.so文件放在了libs文件夹中的原因。官方说明开发者需要把文件夹命名为jniLibs,而我的文件夹叫libs。有两种方式解决这个问题,
一是把文件夹的名字改成jniLibs,而是在gradle文件中,android{}内加入:
sourceSets { main { jniLibs.srcDir 'libs' }问题就解决了