Пример #1
0
        private async Task <bool> OldScanAsync(Action <BrickController2.PlatformServices.BluetoothLE.ScanResult> scanCallback, CancellationToken token)
        {
            try
            {
                var leScanner = new BluetoothLEOldScanner(scanCallback);
#pragma warning disable CS0618 // Type or member is obsolete
                if (!_bluetoothAdapter.StartLeScan(leScanner))
#pragma warning restore CS0618 // Type or member is obsolete
                {
                    return(false);
                }

                var tcs = new TaskCompletionSource <bool>(TaskCreationOptions.RunContinuationsAsynchronously);
                using (token.Register(() =>
                {
#pragma warning disable CS0618 // Type or member is obsolete
                    _bluetoothAdapter.StopLeScan(leScanner);
#pragma warning restore CS0618 // Type or member is obsolete
                    tcs.TrySetResult(true);
                }))
                {
                    return(await tcs.Task);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #2
0
        private async Task <bool> OldScanAsync(Action <BrickController2.PlatformServices.BluetoothLE.ScanResult> scanCallback, CancellationToken token)
        {
            try
            {
                var leScanner = new BluetoothLEOldScanner(scanCallback);
                if (!_bluetoothAdapter.StartLeScan(leScanner))
                {
                    return(false);
                }

                var tcs = new TaskCompletionSource <bool>(TaskCreationOptions.RunContinuationsAsynchronously);
                token.Register(() =>
                {
                    _bluetoothAdapter.StopLeScan(leScanner);
                    tcs.SetResult(true);
                });

                return(await tcs.Task);
            }
            catch (Exception)
            {
                return(false);
            }
        }