Нужен фрагмент кода, позволяющий бесконечно воспроизводить функцию (прием сигнала Bluetooth) Xamarin.Forms

Имеется функция, отвечающая за получение данных с другого устройства Bluetooth, проблема состоит в том, что получение данных осуществляется при нажатии на кнопку, а мне бы хотелось, чтобы данные принимались беспрерывно. Вот код функции:

private async void btnRecive_Clicked(object sender, EventArgs e)
    {
        connect_label.Text = "Wait to connection";
        const int OffsetDefault = 0;

        var device = (BluetoothDeviceModel)BindingContext;
        if (device != null)
        {
            var adapter = DependencyService.Resolve<IBluetoothAdapter>();
            using (var connection = adapter.CreateConnection(device))
            {
                if (await connection.RetryConnectAsync(retriesCount: 1))
                {
                    byte[] buffer = new byte[1024];
                    if (!(await connection.RetryReciveAsync(buffer, OffsetDefault, 1024)).Succeeded)
                    {
                        await DisplayAlert("Error", "Can not send data", "Close");
                        connect_label.Text = "Start your connection:";
                    }
                    else
                    {
                        char[] char_msg_recieved = new char[buffer.Length];
                        string string_msg_recieved = "";
                        char temp;
                        for (int i = 0; i < buffer.Length; i++)
                        {
                            temp = (char)buffer[i];
                            string_msg_recieved += Convert.ToString(temp);
                        }
                        messages.Text = messages.Text + string_msg_recieved + "\n";
                        connect_label.Text = "Connected";
                    }
                    buffer = null;
                }
                else
                {
                    if(connect_label.Text!= "Start your connection:")
                        await DisplayAlert("Error", "Can not to connect", "Close");
                    connect_label.Text = "Start your connection:";
                }
            }
        }
    }

Ответы (0 шт):