protected void RegisterCallbacks() { OnCaptureDevices += new DevicesCallback(VoiceManager_OnCaptureDevices); OnRenderDevices += new DevicesCallback(VoiceManager_OnRenderDevices); OnConnectorCreated += new ConnectorCreatedCallback(VoiceManager_OnConnectorCreated); OnLogin += new LoginCallback(VoiceManager_OnLogin); }
static async Task <IReadOnlyCollection <BluetoothDevice> > PlatformScanForDevices(RequestDeviceOptions options) { List <ScanFilter> filters = new List <ScanFilter>(); foreach (var f in options.Filters) { foreach (var u in f.Services) { ScanFilter.Builder b = new ScanFilter.Builder(); b.SetServiceUuid(ParcelUuid.FromString(u.Value.ToString())); filters.Add(b.Build()); } } ScanSettings.Builder sb = new ScanSettings.Builder(); sb.SetScanMode(Android.Bluetooth.LE.ScanMode.Balanced); var settings = sb.Build(); var callback = new DevicesCallback(); _manager.Adapter.BluetoothLeScanner.StartScan(callback); await Task.Delay(30000); return(callback.Devices.AsReadOnly()); }