设备备用网络

更新时间:2024-07-05 07:18:30下载pdf

在一些安全场景中,用户需要定期修改 Wi-Fi 密码。如果没有 Wi-Fi 多组连接功能,意味着所有连接的 Wi-Fi 设备都需要重新配网。此时,可以通过提前预设多组 Wi-Fi 密码,称为 备用网络,然后设置自动尝试连接,从而实现无需经过重新配网,即可在线切换 Wi-Fi 连接网络环境。

获取设备当前网络信息

接口说明

/**
 * 获取设备当前网络信息
 *
 * @param callback The callback.
 */
fun getDeviceCurrentNetInfo(callback: IThingDataCallback<CurrentWifiInfoBean?>)

参数说明

参数 类型 说明
callback IThingDataCallback CurrentWifiInfoBean 回调

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.getDeviceCurrentNetInfo(object :IThingDataCallback<CurrentWifiInfoBean?>{
    override fun onSuccess(result: CurrentWifiInfoBean?) {

    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

返回数据(CurrentWifiInfoBean 类)

属性 类型 说明
ssid String Wi-Fi 网络的 SSID
signal int Wi-Fi 网络的信号强度
network int 网络类型
  • 0:无线网络
  • 1:有线网络
version int 当前协议版本
hash String 当前设备 Wi-Fi 网络的 Hash 值
originJSONString String 设备上报的原始信息,包含上述字段

获取设备备用网络列表

接口说明

/**
 * 获取设备备用网络列表
 *
 * @param callback The callback.
 */
fun getDeviceBackupWiFiList(callback: IThingDataCallback<BackupWifiListInfo?>)

参数说明

参数 类型 说明
callback IThingDataCallback BackupWifiListInfo 回调

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.getDeviceBackupWiFiList(object :IThingDataCallback<BackupWifiListInfo?>{
    override fun onSuccess(result: BackupWifiListInfo?) {

    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

返回数据

BackupWifiListInfo

属性 类型 说明
maxNum String 设备可存储的最大 SSID 数量
backupList List 备用网络列表

BackupWifiBean

属性 类型 说明
ssid String Wi-Fi 网络的 SSID
passwd String Wi-Fi 网络的密码
hash String 当前设备 Wi-Fi 网络的 Hash 值

变更设备备用网络列表

接口说明

/**
 * 变更设备备用网络列表
 *
 * @param backupWifiList List<BackupWifiBean>
 * @param callback The callback.
 */
fun updateDeviceBackupWiFiList(
    backupWifiList: List<BackupWifiBean>?,
    callback: IThingDataCallback<BackupWifiResultBean?>
)

参数说明

参数 类型 说明
backupList List 备用网络列表
callback IThingDataCallback BackupWifiResultBean 回调

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.updateDeviceBackupWiFiList(arrayListOf(),object :IThingDataCallback<BackupWifiResultBean?>{
    override fun onSuccess(result: BackupWifiResultBean?) {

    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }

})

返回数据

BackupWifiResultBean

属性 类型 说明
ssid String Wi-Fi 网络的 SSID
resCode int 设备返回的 Code
  • 0:成功
  • 1:解压失败
  • 2:解析异常
ssidList List 设备备用网络的 SSID

将设备连接至新的 Wi-Fi 中(不在备用网络列表中)

接口说明

/**
 * 将设备连接至新的 Wi-Fi 中(不在备用网络列表中)
 *
 * @param ssid The Wi-Fi SSID.
 * @param pwd The Wi-Fi password.
 * @param callback The callback.
 */
fun switchToNewWifi(
    ssid: String?,
    pwd: String?,
    callback: IThingDataCallback<SwitchWifiResultBean?>
)

参数说明

参数 类型 说明
backupList List 备用网络列表
callback IThingDataCallback BackupWifiResultBean 回调

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.switchToNewWifi("ssid","pwd",object :IThingDataCallback<SwitchWifiResultBean?>{
    override fun onSuccess(result: SwitchWifiResultBean?) {

    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }

})

返回数据

SwitchWifiResultBean

属性 类型 说明
ssid String Wi-Fi 的 SSID
resCode int 设备返回的 Code
  • 1:连接成功
  • 2:连接失败
  • 3:解密失败

将设备连接至新的 Wi-Fi 中(在备用网络列表中)

接口说明

/**
 * 将设备连接至新的 Wi-Fi 中(在备用网络列表中)
 *
 * @param ssid The Wi-Fi SSID.
 * @param pwd The Wi-Fi password.
 * @param callback The callback.
 */
fun switchToNewWifi(
    ssid: String?,
    pwd: String?,
    callback: IThingDataCallback<SwitchWifiResultBean?>
)

参数说明

参数 类型 说明
backupList List 备用网络列表
callback IThingDataCallback BackupWifiResultBean 回调

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.switchToBackupWifi("hash",object :IThingDataCallback<SwitchWifiResultBean?>{
    override fun onSuccess(result: SwitchWifiResultBean?) {

    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }

})

返回数据

SwitchWifiResultBean

属性 类型 说明
ssid String Wi-Fi 的 SSID
resCode int 设备返回的 Code
  • 1:连接成功
  • 2:连接失败
  • 3:解密失败

设备是否支持变更备用网络列表

接口说明

/**
 * 设备是否支持变更备用网络
 *
 * @param bean CurrentWifiInfoBean
 * @return true:支持,false:不支持
 */
fun canUpdateDeviceBackupWiFiList(bean: CurrentWifiInfoBean): Boolean

参数说明

参数 类型 说明
bean CurrentWifiInfoBean 当前设备网络信息

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.canUpdateDeviceBackupWiFiList(CurrentWifiInfoBean())

设备是否支持主动切换网络

接口说明

/**
 * 设备是否支持主动切换网络
 *
 * @param bean CurrentWifiInfoBean
 * @return true:支持,false:不支持
 */
fun canSwitchDeviceWiFi(bean: CurrentWifiInfoBean): Boolean

参数说明

参数 类型 说明
bean CurrentWifiInfoBean 当前设备网络信息

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.canSwitchDeviceWiFi(CurrentWifiInfoBean())

设备是否支持备用网络功能

接口说明

/**
 * 设备是否支持备用网络功能
 *
 * @return true:支持,false:不支持
 */
fun isSupportBackupNetwork(): Boolean

调用示例

val manager = DeviceBusinessDataManager.getInstance().getDeviceNetSetManager("deviceId")
manager.isSupportBackupNetwork()