4

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

作为一个普通的蓝牙设备,我需要务实的设置pin码(通常是0000或1234)

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

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

有谁可以告诉我是否有任何方法可以实现这一目标?

4

1 回答 1

5

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

例子:

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您的BluetoothDevice和包含蓝牙设备引脚pin的阵列在哪里。byte[]

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

[更新]

以前的源链接已失效,课程已更新。显然setPasskey已经不存在了。按照下面的文档链接查找您需要的信息。

资料来源:BluetoothDevice Android 文档

于 2013-03-21T20:53:09.247 回答