我正在编写一个应用程序,允许其用户通过蓝牙自动与附近的其他用户交换数据。通常,这两个用户必须手动相互配对才能发生这种情况。
我想知道是否有办法绕过此步骤并自动发现并连接到我的应用程序的附近用户,也许使用某种应用程序 ID 签名来确保安全?
谢谢!
我从您的评论中看到,您已经发现了问题的“连接”部分的解决方案:用于在没有手动配对的情况下创建不安全连接的 API。
但这仍然留下了发现。为了创建连接,您需要目标的蓝牙地址 (bd addr)。为此,您需要让一个用户的手机进入可发现模式,然后在另一部手机上进行发现。这不能静默完成——您的应用可以调用这些模式,但这会导致手机提示用户。没有那么糟糕,但可能不像你想要的那样自动。
如果两部手机在同一个网络上,它们可以通过网络交换 bd_addr - 无需发现。或者这可能发生在服务器作为中介的情况下,但如果您还没有计划拥有服务器,这将是更多的工作。