Как сделать программное сопряжение устройства Bluetooth на Android

Для моего приложения я пытаюсь программно выполнить сопряжение устройства 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:

  • android.permission.BLUETOOTH_ADMIN
  • android.permission.BLUETOOTH
17
задан mad 14 February 2011 в 08:50
поделиться