android - 如何在不配对的情况下使用蓝牙在Android编程中发送和接收数据?

标签 android sockets bluetooth

我是 Android 编程的新手,并且有 java 概念,我想知道如何在不配对或任何密码的情况下使用蓝牙发送和接收数据(前提是两台设备都安装了我的应用程序), 有什么建议吗?

最佳答案

据我所知,不配对就不可能通过 RFCOMM 套接字发送接收数据。我已经对我正在开发的应用程序进行了广泛的尝试。我的结果是:

  • 如果两个设备已配对且可发现,则可以进行双向通信
  • 如果两个设备配对,但“服务器”设备(Android 设备尝试连接的那个)设置为不可可发现,那么双向通信仍然是可能的
  • 如果两个设备未配对,但“服务器”设备可发现的,则在双向通信成为可能之前仍需要配对请求。这意味着 RFCOMM client 套接字(即来自 Android 的套接字)要求设备配对。这是在运行 Android 2.2 的 Samsung Captivate 上测试的。我觉得这很奇怪,因为我可以理解在允许 RFCOMM 服务器套接字之前需要配对,但是要求对客户端套接字进行配对有点严格。

正如@ethrbunny 提到的,您还可以只使用 WiFi,在每台设备上设置并行服务器/客户端线程,然后发送您想要的任何内容。要发现本地网络上的服务,您可以选择使用 zeroconf。

关于android - 如何在不配对的情况下使用蓝牙在Android编程中发送和接收数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6494006/

相关文章:

c# - MonoGame - Android SamplerState.LinearWrap

android - 有没有更好的方法可以在协程中设置n次监听器?

java - 如何在不接听电话的情况下调用紧急电话?

android - 在 android 中订阅 BLE 指示的示例

iOS 低功耗蓝牙连接

android - 使用 PayPal android 卡支付

Java通过套接字发送字节[]...读取的长度错误

python - getaddrinfo失败,出现socket.gaierror [11001](python)(mqtt)

C - 套接字无法连接到 SMTP 服务器

android - 是否可以通过 A2DP 同时向多个耳机广播?