1. OTA 业务包
1.1. 功能介绍
设备 OTA 指的是设备通过网络进行固件的下载并更新的过程。固件升级业务包可以帮助你快速集成设备固件升级的能力。
1.2. OTA 业务包集成
1.2.1. 创建工程
在 Android Studio 中建立你的工程,接入公版 SDK 并完成业务包框架接入
1.2.2. module 的 build.gradle 配置
dependencies {
implementation 'com.tuya.smart:tuyasmart-bizbundle-ota:3.22.0-6'
}
1.3. 功能调用
1.3.1. 固件升级的可用性
判断当前设备是否支持固件升级能力
接口说明
boolean isSupportUpgrade(String devId);
参数说明
参数 | 说明 |
---|---|
devId | 设备 ID |
示例代码
AbsOtaCallerService absOtaCallerService = MicroContext.getServiceManager().findServiceByInterface(AbsOtaCallerService.class.getName());
if (absOtaCallerService != null) {
if (absOtaCallerService.isSupportUpgrade(devId)) {
// support ota
} else {
// can not support ota ability
}
}
1.3.2. 进入固件升级页面
如果当前设备支持固件升级能力,那么可以前往固件升级页面,并开始固件升级流程。
接口说明
void goFirmwareUpgrade(Context context, String devId);
参数说明
参数 | 说明 |
---|---|
context | Activity context 对象 |
devId | 设备的 ID |
示例代码
AbsOtaCallerService absOtaCallerService = MicroContext.getServiceManager().findServiceByInterface(AbsOtaCallerService.class.getName());
if (absOtaCallerService != null) {
if (absOtaCallerService.isSupportUpgrade(devId)) {
absOtaCallerService.goFirmwareUpgrade(this, devId);
} else {
// This device can not support ota
}
}
1.3.3. 自定义退出升级页面的逻辑
对于支持固件升级的强制升级类型的设备,如果处于升级中状态,业务包支持自行处理退出固件升级页面的逻辑。例如,固件升级过程中,强制升级类型的设备可能需要返回至应用首页,而不是直接返回上一级页面。
接口说明
void setOtaBehaviorListener(IOtaBehaviorListener callback);
参数说明
参数 | 说明 |
---|---|
IOtaBehaviorListener | 固件升级过程行为回调 |
示例代码
AbsOtaCallerService absOtaCallerService = MicroContext.getServiceManager()
.findServiceByInterface(AbsOtaCallerService.class.getName());
absOtaCallerService.setOtaBehaviorListener(new IOtaBehaviorListener() {
@Override
public void onBackPressedWhenForceUpgrading(Activity activity) {
if (activity != null) {
activity.finish();
}
// do something after ota page closed
}
});