Для моего приложения я пытаюсь программно выполнить сопряжение устройства Bluetooth. Я могу показать диалог сопряжения для устройства, которое хочу подключить, и могу ввести пин-код. Когда я нажимаю «Сопряжение», диалоговое окно удаляется и ничего не происходит.
Мне нужно только поддерживать устройства с 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);
}
Перед запуском запроса на сопряжение я прекращаю поиск новых устройств.
Мое приложение имеет следующие разрешения Bluetooth: