示例#1
0
        private async void BtDevicesListView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var controller = (BindingContext as SelectBluetoothPageController);

            if (controller == null)
            {
                return;
            }

            // Get selected name
            MyBluetoothDevice device = (e.Item as MyBluetoothDevice);

            if (device == null)
            {
                return;
            }

            // Connect to Bluetooth
            bool tryAgain = true;

            while (tryAgain)
            {
                if (!await controller.ConnectToBluetoothDevice(device.Name, 30))
                {
                    string answer = await DisplayActionSheet("Couldn't connect to " + device.Name + "! Try again?",
                                                             "Cancel", null, "Yes", "No");

                    if (answer == "Yes")
                    {
                        tryAgain = true;
                    }
                    else if (answer == "No")
                    {
                        tryAgain = false;
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    App.Current.Properties["DeviceName"] = device.Name;
                    await App.Current.SavePropertiesAsync();

                    tryAgain = false;
                }
            }

            await GoToPage();
        }
示例#2
0
        public List <MyBluetoothDevice> GetPairedDevices()
        {
            BluetoothAdapter adapter = BluetoothAdapter.DefaultAdapter;

            checkDefaultAdapter(adapter);

            List <MyBluetoothDevice> devices = new List <MyBluetoothDevice>();

            foreach (var item in adapter.BondedDevices)
            {
                MyBluetoothDevice device = new MyBluetoothDevice();
                device.Name    = item.Name;
                device.Address = item.Address;
            }

            return(devices);
        }