我的安卓设备正在尝试通过蓝牙连接传感器。
作为一个普通的蓝牙设备,我需要编程设置配对码(通常是0000或1234)
用于传感器端,因为它是静默的,不会弹出请求对话框。
我在安卓开发者网站上没有找到任何相关线索。
请问是否有任何方法可用来实现这一点?
要设置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
是您的BluetoothDevice
,pin
是包含蓝牙设备PIN的byte[]
数组。
但我认为,您会更喜欢使用setPasskey(int)
方法。这样会更容易,因为您希望设置像“0000”或“1234”这样的密码。
[更新]
之前的源链接已经失效,并且类已经更新。显然,setPasskey
不再存在。请按照下面的文档链接找到所需的信息。