安卓蓝牙设置PIN功能

4

我的安卓设备正在尝试通过蓝牙连接传感器。

作为一个普通的蓝牙设备,我需要编程设置配对码(通常是0000或1234)

用于传感器端,因为它是静默的,不会弹出请求对话框。

我在安卓开发者网站上没有找到任何相关线索。

请问是否有任何方法可用来实现这一点?

1个回答

5

要设置PIN,您可以通过反射调用BluetoothDevice类中的隐藏方法setPin(byte[])

示例:

try {
  Log.d("setPin()", "Try to set the PIN");
  Method m = device.getClass().getMethod("setPin", byte[].class);
  m.invoke(device, pin);
  Log.d("setPin()", "Success to add the PIN");
} catch (Exception e) {
  Log.e("setPin()", e.getMessage());
}

在这里,device是您的BluetoothDevicepin是包含蓝牙设备PIN的byte[]数组。

但我认为,您会更喜欢使用setPasskey(int)方法。这样会更容易,因为您希望设置像“0000”或“1234”这样的密码。

[更新]

之前的源链接已经失效,并且类已经更新。显然,setPasskey不再存在。请按照下面的文档链接找到所需的信息。

来源:BluetoothDevice Android文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接