我正在为我的应用程序尝试以编程方式配对蓝牙设备。我能够显示要配对的设备的配对对话框,然后可以输入PIN码。但是,当我按下“配对”按钮时,对话框被移除并且没有任何操作。
我只需要支持Android 2.0及以上版本的设备。
目前,我正在使用以下代码开始配对进程:
public void pairDevice(BluetoothDevice device) {
String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST";
Intent intent = new Intent(ACTION_PAIRING_REQUEST);
String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE";
intent.putExtra(EXTRA_DEVICE, device);
String EXTRA_PAIRING_VARIANT = "android.bluetooth.device.extra.PAIRING_VARIANT";
int PAIRING_VARIANT_PIN = 0;
intent.putExtra(EXTRA_PAIRING_VARIANT, PAIRING_VARIANT_PIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
在开始配对请求之前,我停止扫描新设备。
我的应用具有以下蓝牙权限:
- android.permission.BLUETOOTH_ADMIN
- android.permission.BLUETOOTH