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
                }
            });

results matching ""

    No results matching ""