1

每当出现蓝牙配对对话框时,有什么方法可以强制单击“配对按钮”?

在此处输入图像描述

4

1 回答 1

3

我不知道如何访问配对对话框,但我能够通过以下方式“强制”配对:

1)为动作注册一个广播接收器:

android.bluetooth.device.action.PAIRING_REQUEST

2)一旦收到动作,使用反射“强制”PIN:

String DEVICE_PIN = "12345";

final BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

if (intent.getAction().equals("android.bluetooth.device.action.PAIRING_REQUEST")) {
    byte[] pin = (byte[]) BluetoothDevice.class.getMethod("convertPinToBytes", String.class).invoke(BluetoothDevice.class, ARDUINO_PIN);
    BluetoothDevice.class.getMethod("setPin", byte[].class).invoke(device, pin); 
}

它在 GB 和 ICS 上对我有用(不知道它是否适用于较新的版本)。

于 2013-10-26T19:22:00.833 回答