У меня есть проблема с проверкой BLE на Android.Я хочу получить подробную информацию о отключении устройства.Я могу получить информацию, используя startScan(filters,settings,leScanCallback);
Вот мой код:
BluetoothManager btManager =(BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter btAdapter=btManager.getAdapter();
BluetoothLeScanner btScanner=btAdapter.getBluetoothLeScanner();
ScanFilter filter = new ScanFilter.Builder().setDeviceAddress("E0:E5:CF:32:95:B2").build();
List<ScanFilter> filters = new ArrayList<>();
filters.add(filter);
ScanSettings settings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_BALANCED)
.setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
.build();
btScanner.startScan(filters,settings,leScanCallback);
private ScanCallback leScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) {
super.onScanResult(callbackType,result);
Log.d(ACTIVITY_TAG, String.format("message:%d %s", callbackType,result.getDevice().getAddress()));
}
}
Работа, но потерянное сообщение не получено.Я пытался использовать ScanSettings.CALLBACK_TYPE_FIRST_MATCH|ScanSettings.CALLBACK_TYPE_MATCH_LOST
. Однако, оно не отображает никаких сообщений. Как я могу вызвать функцию при первом подключении или отключении устройства?