获取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
在 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;