Android 4.2+上没有用户界面的Android蓝牙PIN配对

时间:2013-07-18 13:08:53

标签: android bluetooth android-4.2-jelly-bean

这里也有类似的问题,但答案和建议与旧版本的Android有关。据我所知,蓝牙堆栈已经从4.2开始完全修改,旧的解决方案不再适用了。

我尝试过所有旧解决方案都无济于事。私有API的使用不再有效,因为它们已经发生了变化。我不介意使用私有API,但它必须适用于最新版本及更高版本(即API 17 +)

我正在尝试执行以下操作:

使用传统的PIN配对在Android设备和嵌入式设备之间设置蓝牙配对,而不会发现嵌入式设备,用户也不必手动输入PIN。实际上我根本不需要PIN输入对话框。

计划是这两个设备具有预定义的共享密钥PIN,以便我可以以编程方式执行配对,然后在它们之间打开RFCOMM连接。所有这些都没有UI。 Android程序已知嵌入式设备的硬件地址。

这里没有安全问题。该项目涉及通过BT尽可能简单地与nearyby,小型嵌入式设备进行通信。

可能适用于Android 4.2(Jelly Bean)的想法非常受欢迎,谢谢。

1 个答案:

答案 0 :(得分:0)

事实证明,嵌入式设备内部存在一些问题。在Android方面,以下工作:

BluetoothSocket s = null;

    try 
    {
        s = device.createInsecureRfcommSocketToServiceRecord(SerialPortServiceClass_UUID);

    }
    catch (IOException e) 
    {
        Log.e(TAG, "BT connect failed", e);
        return false;
    }

其中

private static final UUID SerialPortServiceClass_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");