更新时间:2024-03-15 02:56:47下载pdf
在一些安全场景中,用户需要定期修改 Wi-Fi 密码。如果没有 Wi-Fi 多组连接功能,意味着所有连接的 Wi-Fi 设备都需要重新配网。此时,可以通过提前预设多组 Wi-Fi 密码,称为 备用网络,然后设置自动尝试连接。从而实现无需经过重新配网,即可在线切换 Wi-Fi 连接网络环境。
请通过 deviceBean.getDevAttribute() & (1 << 12)
判断当前设备是否支持设置备用网络,1
表示支持,0
表示不支持。
初始化
IThingDevicePlugin devicePlugin = PluginManager.service(IThingDevicePlugin.class);
IThingWifiBackup wifiBackupManager = devicePlugin.getWifiBackupManager(devId);
接口说明
void getCurrentWifiInfo(IThingDataCallback<CurrentWifiInfoBean> dataCallback);
参数说明
参数 | 描述 |
---|---|
dataCallback | 回调 |
示例代码
wifiBackupManager.getCurrentWifiInfo(new IThingDataCallback<CurrentWifiInfoBean>() {
@Override
public void onSuccess(CurrentWifiInfoBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
void getBackupWifiList(IThingDataCallback<BackupWifiListInfo> dataCallback);
参数说明
参数 | 描述 |
---|---|
dataCallback | 回调 |
示例代码
wifiBackupManager.getBackupWifiList(new IThingDataCallback<BackupWifiListInfo>() {
@Override
public void onSuccess(BackupWifiListInfo result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
void setBackupWifiList(List<BackupWifiBean> backupWifiList, IThingDataCallback<BackupWifiResultBean> dataCallback);
参数说明
参数 | 描述 |
---|---|
backupWifiList | 备用 Wi-Fi 信息 Bean |
dataCallback | 回调 |
示例代码
ArrayList<BackupWifiBean> backupWifiList = new ArrayList<>();
// 新添加的,设置密码
BackupWifiBean backupWifiBean = new BackupWifiBean();
backupWifiBean.ssid = "test1";
backupWifiBean.passwd = "12345678";
backupWifiList.add(backupWifiBean);
// 之前已添加过的,设置 hash
String ssid="test2";
String pwd="123123";
DeviceBean dev = ThingOSDevice.getDeviceBean(devId);
String hashStr=SHA256Util.getBase64Hash(dev.getLocalKey() + ssid + pwd);
BackupWifiBean backupWifiBean2 = new BackupWifiBean();
backupWifiBean2.ssid = "test2";
backupWifiBean2.hash = hashStr;
backupWifiList.add(backupWifiBean2);
final IThingDataCallback<BackupWifiResultBean> setBackupCallback = new IThingDataCallback<BackupWifiResultBean>() {
@Override
public void onSuccess(BackupWifiResultBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
};
wifiBackupManager.setBackupWifiList(backupWifiList, setBackupCallback);
接口说明
wifiBackupManager.onDestory();
初始化
IThingDevicePlugin devicePlugin = PluginManager.service(IThingDevicePlugin.class);
IThingWifiSwitch wifiSwitchManager = devicePlugin.getWifiSwitchManager(devId);
接口说明
void switchToNewWifi(String ssid, String password, IThingDataCallback<SwitchWifiResultBean> callback);
参数说明
参数 | 说明 |
---|---|
ssid | Wi-Fi 名称 |
password | Wi-Fi 密码 |
callback | 回调 |
示例代码
wifiSwitchManager.switchToNewWifi(String ssid, String password, new IThingDataCallback<SwitchWifiResultBean>() {
@Override
public void onSuccess(SwitchWifiResultBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
void switchToBackupWifi(String hash, IThingDataCallback<SwitchWifiResultBean> callback);
参数说明
参数 | 说明 |
---|---|
hash | Wi-Fi 密码的哈希值 |
callback | 回调 |
示例代码
wifiSwitchManager.switchToBackupWifi(hash,new IThingDataCallback<SwitchWifiResultBean>() {
@Override
public void onSuccess(SwitchWifiResultBean result) {
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
接口说明
wifiSwitchManager.onDestory();
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈