
- 類(lèi)型:硬件優(yōu)化測(cè)試大。13.9M語(yǔ)言:中文 評(píng)分:10.0
- 標(biāo)簽:
實(shí)例:實(shí)現(xiàn)藍(lán)牙程序?qū)υO(shè)備的連接
下面給出藍(lán)牙程序?qū)υO(shè)備連接的示例:查找藍(lán)牙設(shè)備,并對(duì)找到的第一個(gè)藍(lán)牙設(shè)備進(jìn)行連接。
代碼清單19-2:藍(lán)牙程序?qū)υO(shè)備連接(源代碼:第19章\Examples_19_2)
MainPage.xaml文件主要代碼
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<Button x:Name="btFindBluetooth" Content="連接周?chē)乃{(lán)牙設(shè)備" Click="btFindBluetooth_Click"/>
</StackPanel>
</Grid>
MainPage.xaml.cs文件主要代碼
// 查找藍(lán)牙設(shè)備事件處理
private async void btFindBluetooth_Click(object sender, RoutedEventArgs e)
{
try
{
// 配置PeerFinder藍(lán)牙服務(wù)的GUID去搜索設(shè)備
PeerFinder.AlternateIdentities["Bluetooth:SDP"] = "5bec6b8f-7eba-4452-bf59-1a510745e99d";
var peers = await PeerFinder.FindAllPeersAsync();
if (peers.Count == 0)
{
Debug.WriteLine("沒(méi)發(fā)現(xiàn)藍(lán)牙設(shè)備");
}
else
{
// 連接找到的第一個(gè)藍(lán)牙設(shè)備
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");
}
}
}
程序的運(yùn)行效果如圖19.3所示
本文導(dǎo)航
- 第1頁(yè): 首頁(yè)
- 第2頁(yè): 藍(lán)牙發(fā)送接收信息
- 第3頁(yè): 實(shí)現(xiàn)藍(lán)牙程序?qū)υO(shè)備的連接