如何在android中访问BluetoothPairingDialog.java?

时间:2013-10-22 06:45:58

标签: android bluetooth android-bluetooth

每当蓝牙配对对话框出现时,有没有办法强行点击“配对按钮”?

enter image description here

1 个答案:

答案 0 :(得分:3)

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

1)为行动注册BroadcastReceiver:

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(不知道它是否适用于较新版本)。