今天练习项目里接入高德地图api,由于app还没有签名文件,所以在真机测试的时候显示错误信息(显示错误的代码在下面)
AmapError: location Error, ErrCode:7, errInfo:KEY错误 请到http:
//lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:auth
由于没有签名文件,所以手机上安装的app里的sha1安全码跟项目里的sha1安全码不一致。
那么,如何获得真机app的sha1安全码呢,网上是使用sha1安全码校正工具来获取,但是,下载要50积分啊!!!菜鸟博客主舍不得,然后在官方文档发现了这一段,在定位回调监听器中添加这一段:
//定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。
Log.e("AmapError","location Error, ErrCode:"
+ amapLocation.getErrorCode() + ", errInfo:"
+ amapLocation.getErrorInfo());
}
具体代码:
//声明定位回调监听器
public AMapLocationListener mLocationListener = new AMapLocationListener() {
@Override
public void onLocationChanged(AMapLocation aMapLocation) {
//获取位置结果,判断AMapLocation对象不为空,当定位错误码类型为0时定位成功
if (aMapLocation.getErrorCode() == 0) {
Log.d("