全部产品
云市场

接入 Android SDK

更新时间:2020-05-20 17:10:25

定位 SDK 是一套简单的 LBS (Location-based services) 定位接口,您可以使用这套定位 API 获取定位结果。

前置条件

接入 LBS 之前,在 高德开放平台 申请账号并获取定位 key。申请的 Key 示例如下:

image

1. 接入 SDK

基于 mPaaS 框架

  1. 使用 mPaaS 插件,分别在 Portal 和 Bundle 工程中添加 定位(LBS) 组件依赖。更多信息,请参考 管理组件依赖 > 增删组件依赖

  2. 配置 ${PORTAL_PATH}/app/slinks 文件。

    1. com.alipay.android.phone.mobilecommon-lbs
    2. com.alipay.mobileapi-mobilelbs

基于原生框架

  1. 添加仓库依赖:
    1. allprojects {
    2. repositories {
    3. maven {
    4. credentials {
    5. username "*******"
    6. password "*******"
    7. }
    8. url "http://mvn.cloud.alipay.com/nexus/content/repositories/releases/"
    9. }
    10. flatDir {
    11. dirs 'libs'
    12. }
    13. jcenter()
    14. }
    15. }
  2. 添加 aar 依赖:
    1. compile 'com.alipay.android.phone.mobilesdk:logging:2.0.0'
    2. compile 'com.alipay.android.phone.mobilecommon:lbs-build:1.9.0.170317173528@aar'

2. 配置 AndroidManifest

  • 配置权限:
    1. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    4. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    5. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    6. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    7. <uses-permission android:name="android.permission.INTERNET" />
    8. <uses-permission android:name="android.permission.BLUETOOTH" />
    9. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    10. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    11. <uses-permission android:name="android.permission.READ_SETTINGS" />
    12. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
  • 配置 application

    1. <!--高德定位key-->
    2. <meta-data
    3. android:name="com.amap.api.v2.apikey"
    4. android:value="%s" />
    5. <!--高德定位Service-->
    6. <service android:name="com.amap.api.location.APSService"></service>

API 说明

通用 API

调用定位

  1. LBSLocationManagerProxy.getInstance().requestLocationUpdates(MainActivity.this, new LBSLocationListener() {
  2. @Override
  3. public void onLocationUpdate(LBSLocation lbsLocation) {
  4. Toast.makeText(MainActivity.this, "lbsLocation is " + lbsLocation.getAddress(), Toast.LENGTH_LONG).show();
  5. }
  6. @Override
  7. public void onLocationFailed(int i) {
  8. Toast.makeText(MainActivity.this,
  9. "onLocationFailed" + i, Toast.LENGTH_SHORT).show();
  10. }
  11. });
  1. // 注册定位
  2. public void requestLocationUpdates(Context context, LBSLocationListener locationListener)
  3. // remove 定位注册的回调
  4. public void removeUpdates(Context context, LBSLocationListener listener)
  5. // 获取最近一次定位成功的位置
  6. public LBSLocation getLastKnownLocation(Context context)

mPaaS Android 框架 API

在 Bundle 中调用

  1. LBSLocationManagerProxy.getInstance().requestLocationUpdates(MainActivity.this, new LBSLocationListener() {
  2. @Override
  3. public void onLocationUpdate(LBSLocation lbsLocation) {
  4. Toast.makeText(MainActivity.this, "lbsLocation is " + lbsLocation.getAddress(), Toast.LENGTH_LONG).show();
  5. }
  6. @Override
  7. public void onLocationFailed(int i) {
  8. Toast.makeText(MainActivity.this,
  9. "onLocationFailed" + i, Toast.LENGTH_SHORT).show();
  10. }
  11. });

原生框架 API

初始化

  1. LoggerFactory.init(getApplicationContext());