如何在没有触摸屏的Android设备中以编程方式关闭蓝牙配对请求对话框&没有钥匙板?

时间:2017-03-31 09:44:59

标签: android bluetooth

要求:

wince设备与Android设备之间的蓝牙配对(Tab,Android USB Dongle)

实现:

这是我的Android代码段,用于解除蓝牙配对请求对话框,无需任何用户干预。

//代码段..

公共类BluetoothPairingRequest扩展了BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals("android.bluetooth.device.action.PAIRING_REQUEST")) {

        try {
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            int pin=intent.getIntExtra("android.bluetooth.device.extra.PAIRING_KEY", 0);
            //the pin in case you need to accept for an specific pin                   

            byte[] pinBytes;
            pinBytes = ("" + pin).getBytes("UTF-8");
            device.setPin(pinBytes);
            //setPairing confirmation if neeeded
            device.setPairingConfirmation(true);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

}

问题陈述:

上面的代码片段工作正常,但有些时候我在测试过程中看到过:

  1. 使用此代码不会解除蓝牙配对请求对话框,并且配对不成功。

  2. 有时,当蓝牙配对请求对话框在android状态栏中显示为通知时,代码无效并且配对不成功。

0 个答案:

没有答案