【问题标题】:Android Programmatically Bluetooth PairingAndroid 以编程方式进行蓝牙配对
【发布时间】:2011-09-22 22:46:14
【问题描述】:

我想通过蓝牙接口以编程方式将我的手机与医疗传感器配对。我有连接设备所需的地址和 PIN,但我想避免用户交互(配对过程 - 传感器配置等)

我尝试使用非官方的蓝牙 API (http://code.google.com/p/android-bluetooth/),但似乎这不适用于 Android 2.1 及更高版本(我的 LocalBluetoothDevice 始终为 NULL,而人们在他们的论坛说这仅适用于1.X版本)

我看到 Android API 具有在后台执行此配对的方法,但它们使用 @hide 注释进行标记。我如何访问它?

有人成功了吗? (以编程方式配对)有什么例子吗?

谢谢!

【问题讨论】:

    标签: android bluetooth


    【解决方案1】:

    我认为您需要使用 API 10 中引入的 createInsecureRfcommSocketToServiceRecord()。我必须让它在 Android 2.2 上运行,所以我使用反射按照 this 方法调用该方法并且它有效。我正在通过其友好名称识别我连接的蓝牙设备并将其设置为不需要 PIN 绑定,我的 Android APP 现在连接到它而无需绑定设备或任何 PIN 输入,因此这是一个安全问题。

    【讨论】:

    • 我想知道:您如何强制设备不需要引脚?这是您必须在蓝牙设备本身上执行的操作,还是可以通过 Android 应用程序完成?
    • @Zainodis - 我认为你必须在 BT 设备上执行此操作。
    • 嗯,谢谢,我们正在将这些设备运送给客户,我们无法手动从每个设备上移除引脚 :(。现在我要创建一个 Rfcomm 套接字来生成配对对话框(用户在其中输入引脚)并在此之后立即关闭套接字。现在工作得很好。
    • Thsnks Dave 你也解决了我的问题。你是英雄 。竖起大拇指
    • @Gelvis 当然这适用于 4.0(现在编码)。但是,daveD 我想注意到您的解决方案不是用于配对两个设备(即连接两个设备并将它们保存为绑定配置),而只是将一个设备连接到另一个设备而不需要后者接受连接。 (前者还是需要知道目的地址,是否通过先例配对、发现等)
    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2014-03-13
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    相关资源
    最近更新 更多