|
|
|
@ -24,11 +24,16 @@ import androidx.core.graphics.Insets;
|
|
|
|
import androidx.core.view.ViewCompat;
|
|
|
|
import androidx.core.view.ViewCompat;
|
|
|
|
import androidx.core.view.WindowInsetsCompat;
|
|
|
|
import androidx.core.view.WindowInsetsCompat;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.clj.fastble.BleManager;
|
|
|
|
|
|
|
|
import com.clj.fastble.callback.BleScanCallback;
|
|
|
|
|
|
|
|
import com.clj.fastble.data.BleDevice;
|
|
|
|
|
|
|
|
import com.clj.fastble.scan.BleScanRuleConfig;
|
|
|
|
import com.google.gson.Gson;
|
|
|
|
import com.google.gson.Gson;
|
|
|
|
import com.rehome.dywoa.R;
|
|
|
|
import com.rehome.dywoa.R;
|
|
|
|
import com.rehome.dywoa.base.BaseActivity;
|
|
|
|
import com.rehome.dywoa.base.BaseActivity;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 蓝牙扫描
|
|
|
|
* 蓝牙扫描
|
|
|
|
@ -62,9 +67,13 @@ public class BlueToothDeviceActivity extends BaseActivity {
|
|
|
|
showLog("蓝牙数据管理");
|
|
|
|
showLog("蓝牙数据管理");
|
|
|
|
mLeDeviceListAdapter.clear();
|
|
|
|
mLeDeviceListAdapter.clear();
|
|
|
|
mLeDeviceListAdapter.notifyDataSetChanged();
|
|
|
|
mLeDeviceListAdapter.notifyDataSetChanged();
|
|
|
|
initBlueTooth();
|
|
|
|
//initBlueTooth();
|
|
|
|
|
|
|
|
if(BleManager.getInstance().isSupportBle()){
|
|
|
|
|
|
|
|
initBlueToothFastBle();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
BleManager.getInstance().init(getApplication());
|
|
|
|
lv = findViewById(R.id.lv);
|
|
|
|
lv = findViewById(R.id.lv);
|
|
|
|
mLeDeviceListAdapter = new LeDeviceListAdapter(BlueToothDeviceActivity.this);
|
|
|
|
mLeDeviceListAdapter = new LeDeviceListAdapter(BlueToothDeviceActivity.this);
|
|
|
|
lv.setAdapter(mLeDeviceListAdapter);
|
|
|
|
lv.setAdapter(mLeDeviceListAdapter);
|
|
|
|
@ -143,6 +152,42 @@ public class BlueToothDeviceActivity extends BaseActivity {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void initBlueToothFastBle() {
|
|
|
|
|
|
|
|
BleManager.getInstance()
|
|
|
|
|
|
|
|
.enableLog(true)
|
|
|
|
|
|
|
|
.setReConnectCount(1, 5000)
|
|
|
|
|
|
|
|
.setSplitWriteNum(20)
|
|
|
|
|
|
|
|
.setConnectOverTime(10000)
|
|
|
|
|
|
|
|
.setOperateTimeout(5000);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
|
|
|
|
|
|
|
|
// .setAutoConnect(true)
|
|
|
|
|
|
|
|
// .setScanTimeOut(10000)
|
|
|
|
|
|
|
|
// .build();
|
|
|
|
|
|
|
|
// BleManager.getInstance().initScanRule(scanRuleConfig);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BleManager.getInstance().scan(new BleScanCallback() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onScanStarted(boolean success) {
|
|
|
|
|
|
|
|
showToast("开始蓝牙扫描");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onScanning(BleDevice bleDevice) {
|
|
|
|
|
|
|
|
showToast("发现设备");
|
|
|
|
|
|
|
|
mLeDeviceListAdapter.addDevice(bleDevice.getDevice());
|
|
|
|
|
|
|
|
mLeDeviceListAdapter.notifyDataSetChanged();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onScanFinished(List<BleDevice> scanResultList) {
|
|
|
|
|
|
|
|
showToast("蓝牙扫描结束");
|
|
|
|
|
|
|
|
showLog(String.valueOf(scanResultList.size()));
|
|
|
|
|
|
|
|
showLog(new Gson().toJson(scanResultList));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void scanLeDevice() {
|
|
|
|
private void scanLeDevice() {
|
|
|
|
if (!scanning) {
|
|
|
|
if (!scanning) {
|
|
|
|
// Stops scanning after a predefined scan period.
|
|
|
|
// Stops scanning after a predefined scan period.
|
|
|
|
|