Для моего приложения я пытаюсь программно подключить Bluetooth-устройство. Я могу показать диалог сопряжения для устройства, которое я хочу установить, и я могу ввести pincode. Когда я нажимаю "Пара", диалог удаляется и ничего не происходит.
Мне нужно только поддерживать устройства с 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