Android 使用高德SDK获取定位
在Android开发过程中,经常需要获取手机的定位,这里记录一下使用搞的定位的过程。我选择使用高德的SDK,其实也有Web的API,但是API使用IP定位,Android SDK可以使用多种定位方式。
文章目录
说明
本文2020.4.12更新,此时文中所有内容均已实践
高德开放平台
功能需要,我使用的是Android 定位SDK,其他SDK类似。
开发过程
Android Studio新建项目
新建一个项目,留意包名,后面要用到。
如果是打开原有项目,注意调整build.gradle文件的applicationid与package一致。
申请高德 Key
自己去注册账号,申请个人开发者也比较简单
新建应用
类型选择Android SDK
添加Key
输入发布版安全码 SHA1、调试版安全码 SHA1、以及 Package。
Package与自己的AndroidManifest.xml 配置文件包名一致
填写的SHA1值与本地的SHA1值 匹配(debug或者release至少有一个与本地的SHA1一致)
本地的SHA1获取方法:
向程序中添加以下代码段获取当前APK使用的签明文件SHA1。
public static String sHA1(Context context){
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
context.getPackageName(), PackageManager.GET_SIGNATURES);
byte[] cert = info.signatures[0].toByteArray();
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(cert);
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < publicKey.length; i++) {
String appendString = Integer.toHexString(0xFF & publicKey[i])
.toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":")