扫描蓝牙二维码,准备配网

This commit is contained in:
fengjignqi
2026-06-12 08:37:00 +08:00
parent 02acc5403d
commit 56af585524
11 changed files with 182 additions and 17 deletions

View File

@@ -220,7 +220,7 @@ public class AddDeviceActivity_copy extends BaseActivity<AddDeviceLayoutBinding,
ToastUtil.showShort(mContext, "扫描失败,错误码: " + errorCode);
}
};
scanner.startScan(null, settings, mScanCallback);
scanner.startScan(filters, settings, mScanCallback);
}
/**

View File

@@ -133,7 +133,11 @@ public class DeviceConnectActivity extends BaseActivity<DeviceConnectLayoutBindi
handler.postDelayed(new Runnable() {
@Override
public void run() {
goTo(mContext, DeviceReNameActivity.class, null);
Bundle bundle = new Bundle();
bundle.putString("wifi_name", mWifiName);
bundle.putString("wifi_password", mWifiPassword);
bundle.putSerializable("ble_device_entity", mBleDeviceEntity);
goTo(mContext, DeviceReNameActivity.class, bundle);
finish();
}
}, 800);

View File

@@ -23,6 +23,11 @@ import com.gyf.immersionbar.ImmersionBar;
*/
public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBinding, DevicePresenter>
implements DeviceContract.DeviceView {
private String mWifiName;
private String mWifiPassword;
private WaterDeviceEntity mBleDeviceEntity;
@Override
public DevicePresenter createPresenter() {
return new DevicePresenter(new DeviceImpl());
@@ -31,6 +36,13 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
@Override
public void initData(Bundle savedInstanceState) {
super.initData(savedInstanceState);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
mWifiName = bundle.getString("wifi_name", "");
mWifiPassword = bundle.getString("wifi_password", "");
mBleDeviceEntity = (WaterDeviceEntity) bundle.getSerializable("ble_device_entity");
}
ImmersionBar.with(this)
.statusBarColor(R.color.color_F9F9F9) // 设置状态栏颜色
.statusBarDarkFont(true) // 设置状态栏字体为黑色
@@ -60,10 +72,11 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
ToastUtil.showShort(mContext,getString(R.string.input_device_name_hint));
return;
}
String deviceName = viewBinding.etDeviceName.getText().toString().trim();
// ToastUtil.showShort(mContext,"名称保存成功");
// goTo(mContext,DeviceControlActivity.class,null);
showLoadingDialog();
mPresenter.addDevice();
mPresenter.addDevice(deviceName,mWifiName,mWifiPassword,mBleDeviceEntity);
break;
}
}
@@ -80,7 +93,9 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
goTo(mContext,DeviceControlActivity.class,null);
Bundle bundle = new Bundle();
bundle.putSerializable("device_info",mBleDeviceEntity);
goTo(mContext,DeviceControlActivity.class,bundle);
finish();
}
},800);

View File

@@ -309,6 +309,7 @@ public class SelectWifiActivity extends BaseActivity<DeviceResetWifiBinding, Dev
* 连接设备
*/
private void scheduleBleConnect() {
showLoadingDialog();
bleConnectHandler.removeCallbacksAndMessages(null);
bleConnectHandler.postDelayed(new Runnable() {
@Override
@@ -325,7 +326,6 @@ public class SelectWifiActivity extends BaseActivity<DeviceResetWifiBinding, Dev
if (isBleConnected || isBleConnecting) {
return;
}
showLoadingDialog();
espProvisionManager.connect(mBleDeviceEntity.getMacAddress(), mBleDeviceEntity.getDeviceName());
}

View File

@@ -21,18 +21,21 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
/**
* 添加设备
* @param mWifiName
* @param mWifiPassword
* @param mBleDeviceEntity
*/
public void addDevice() {
public void addDevice(String deviceName,String mWifiName, String mWifiPassword, WaterDeviceEntity mBleDeviceEntity) {
try {
JSONObject json = new JSONObject();
json.put("deviceNo",System.currentTimeMillis() + "");
json.put("deviceName",new Random().nextInt(99) + "号设备");
json.put("wifiName","橙空科技WiFi");
json.put("wifiPassword","12321212");
json.put("deviceEm","213123123123");
json.put("deviceSn","sdfsd32423gdfgdf3");
json.put("fwVer","fwVer-56565644");
json.put("macAddress","2E:8H:00:KK:N7");
json.put("deviceName",deviceName);
json.put("wifiName",mWifiName);
json.put("wifiPassword",mWifiPassword);
json.put("macAddress",mBleDeviceEntity.getMacAddress());
json.put("deviceNo", "01");
// json.put("deviceEm","213123123123");
// json.put("deviceSn","sdfsd32423gdfgdf3");
// json.put("fwVer","fwVer-56565644");
impl.addDevice(json, new IndexContract.CallBack<BaseBean>() {
@Override
public void success(BaseBean bean,int total) {