实例:实现蓝牙程序对设备的连接
下面给出蓝牙程序对设备连接的示例:查找蓝牙设备,并对找到的第一个蓝牙设备进行连接。
代码清单19-2:蓝牙程序对设备连接(源代码:第19章\Examples_19_2)
MainPage.xaml文件主要代码
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<Button x:Name="btFindBluetooth" Content="连接周围的蓝牙设备" Click="btFindBluetooth_Click"/>
</StackPanel>
</Grid>
MainPage.xaml.cs文件主要代码
// 查找蓝牙设备事件处理
private async void btFindBluetooth_Click(object sender, RoutedEventArgs e)
{
try
{
// 配置PeerFinder蓝牙服务的GUID去搜索设备
PeerFinder.AlternateIdentities["Bluetooth:SDP"] = "5bec6b8f-7eba-4452-bf59-1a510745e99d";
var peers = await PeerFinder.FindAllPeersAsync();
if (peers.Count == 0)
{
Debug.WriteLine("没发现蓝牙设备");
}
else
{
// 连接找到的第一个蓝牙设备
PeerInformation selectedPeer = peers[0];
StreamSocket socket = new StreamSocket();
await socket.ConnectAsync(selectedPeer.HostName, selectedPeer.ServiceName);
MessageBox.Show("连接上了HostName:" + selectedPeer.HostName + "ServiceName:" + selectedPeer.ServiceName);
}
}
catch (Exception ex)
{
if ((uint)ex.HResult == 0x8007048F)
{
MessageBox.Show("Bluetooth is turned off");
}
}
}
程序的运行效果如图19.3所示
本文导航
- 第1页: 首页
- 第2页: 蓝牙发送接收信息
- 第3页: 实现蓝牙程序对设备的连接