获取SDK所需参数

SDK初始化时,需要的 hboxId 参数,可通过主动调用接口 中的 增加第三方 SDK 实例 接口获得。

初始化SDK后,可通过 注册用户 页面内的方法,根据实际情况添加用户/手环的授权,授权后,SDK即可读取已授权用户/手环的信息

第三方依赖

SDK提供两种格式的AAR包,如果使用包含依赖的AAR, 请直接参见 使用方法 章节
如使用不包含依赖库的AAR包,请在 Module 的 build.gradle 文件中添加

dependencies {
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.squareup.okhttp3:okhttp:3.4.1'
    compile 'com.orhanobut:logger:1.15'
    compile 'net.zetetic:android-database-sqlcipher:3.5.4@aar'
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
}

下载

点击下载SDK(包含依赖)

点击下载SDK(不包含依赖)

集成SDK

  • 在 Android Studio中点击 File-->New-->New Module 在其中选择Import Jar/Aar Package

  • 导入AAR后在 Project Structure 中添加 Module dependency

  • 添加完成后如果使用包含依赖的AAR即可直接使用,如果使用不包含依赖的AAR则需要手动添加依赖。

  • 为了正常使用SDK,您还需要在AndroidManifest.xml中添加

    <receiver android:name="com.huami.mibandscan.BroadcastReceiver.TimerTaskReceiver"/>
    

使用SDK

  • SDK初始化方法:

    MiBandScan miBandScan = new MiBandScan(context);
    
  • SDK初始化成功后需要使用 miBandScan.config() 进行配置,配置方法如下

    /**
        * @param hboxId 通过此文档"API"-"主动调用接口"页面中的 "增加第三方 SDK 实例" 接口获得
        * @param userName 申请时得到的用户名
        * @param password 申请时得到的密码
        * @param accessOpenId 仅白名单模式使用,其他模式时请传入null
        * @param miBandScanCallBack 用户的回调对象,回调将在主线程执行
        * @return 配置成功状态
        */
       bool status = miBandScan.config(hboxid, username, password, list, miBandScanCallBack);
    
  • MiBandScanCallBack实例化示例:

    private MiBandScanCallBack miBandScanCallBack = new MiBandScanCallBack() {
    
          @Override
          public void onData(MiBandScanResult miBandScanResult) {
              String openid = miBandScanResult.getOpenId();
              Long steps = miBandScanResult.getSteps();
              int sleep = miBandScanResult.getSleep();
              int rssi = miBandScanResult.getRssi();
              long timestamp = miBandScanResult.getTimeStamp();
              // ...
          }
    
          @Override
          public void onStatus(MiBandScanStatus miBandScanStatus) {
              String text = "";
              switch (miBandScanStatus) {
                  case MiBandScanStatus.BLUETOOTH_DISABLED:
                      // Bluetooth Disabled;
                      break;
                  case MiBandScanStatus.CHECK_OPENID_COMPLETE:
                      // Check OpenId Complete
                      break;
                  case MiBandScanStatus.CONFIG_SUCCESS:
                      // Config Success
                      break;
                  case MiBandScanStatus.CONFIG_FAIL:
                      // Config Fail
                      break;
                  case MiBandScanStatus.NOT_SUPPORT_BLE:
                      // Not Support BLE
                      break;
                  case MiBandScanStatus.START_SUCCESS:
                      // Start Success
                      break;
                  case MiBandScanStatus.STOP_SUCCESS:
                      // Stop Success
                      break;
                  case MiBandScanStatus.NETWORK_ERROR:
                      // Network Error
                     break;
                  case MiBandScanStatus.SERVICE_NOT_WORK:
                      // Service Not Work
                      break;
              }
          }
      };
    
  • 开启/停止SDK扫描

    // start scan
      miBandScan.startScan(true);
      // stop scan
      miBandScan.startScan(false);
    
  • 检查蓝牙是否开启

    boolean status = miBandScan.isBluetoothEnabled();
    
  • 检查SDK是否还在提供服务

    boolean status = miBandScan.isOnService();
    
  • 完全停止SDK

    miBandScan.onDestroy();
      miBandScan = null;
    

results matching ""

    No results matching ""