12345678910111213141516171819202122232425262728 |
- using Android.Bluetooth.LE;
- namespace InABox.Avalonia.Platform.Android;
- public class BluetoothScanManager : ScanCallback
- {
- private readonly Action<ScanResult> _onDeviceFound;
- private readonly Action _onScanStopped;
- public BluetoothScanManager(Action<ScanResult> onDeviceFound, Action onScanStopped)
- {
- _onDeviceFound = onDeviceFound;
- _onScanStopped = onScanStopped;
- }
- public override void OnScanResult(ScanCallbackType callbackType, ScanResult result)
- {
- base.OnScanResult(callbackType, result);
- _onDeviceFound?.Invoke(result);
- }
- public override void OnScanFailed(ScanFailure errorCode)
- {
- base.OnScanFailed(errorCode);
- _onScanStopped?.Invoke();
- throw new Exception($"Scan failed with error code: {errorCode}");
- }
- }
|