无需打开插座即可连接蓝牙设备

Posted

技术标签:

【中文标题】无需打开插座即可连接蓝牙设备【英文标题】:Connect to bluetooth device without opening a socket 【发布时间】:2016-09-03 10:34:38 【问题描述】:

我已经注册了一个后台任务,它将在我的蓝牙设备连接后立即处理 (rfcomm) 蓝牙连接。现在,我想做的是制作一个“连接”按钮,就像小工具应用程序中的那个一样。它应该强制设备连接到我的蓝牙设备而不打开套接字,以便后台任务可以处理它。

我该怎么做?

【问题讨论】:

【参考方案1】:

蓝牙应该使用 StreamSocket,它应该使用套接字。

    async void send(string str)
    
        StreamSocket socket = await PeerFinder.ConnectAsync(peer);
        DataWriter data_writer=new DataWriter(socket.OutputStream);
        data_writer.WriteString(str);
        await data_writer.StoreAsync();
    

【讨论】:

然后我的代码崩溃了:Only one usage of each socket address (protocol/network address/port) is normally permitted。原因是在连接时,rfcomm后台任务已经启动并接管了连接。

以上是关于无需打开插座即可连接蓝牙设备的主要内容,如果未能解决你的问题,请参考以下文章

iOS 和 Android 无需连接即可访问的蓝牙设备是不是有唯一标识符?

如何获取手机系统设置中连接成功的蓝牙的信息

iOS 连接蓝牙2.0的外设怎么实现

Android - 关闭特定的蓝牙插座

微信小程序蓝牙好用吗

无需配对即可通过蓝牙提取移动(android 和 IOS)传感器数据