Да, можно делать сопряжение через приложение. Я сделал сопряжение в моем приложении.
для этого вы должны сделать объект интерфейса IBluetooth доступным следующим образом:
IBluetooth mBluetoothService;
Field fie = Class.forName(bluetoothAdapter.getClass().getName()).getDeclaredField("mService");
fie.setAccessible(true);
mBluetoothService = (IBluetooth) fie.get(bluetoothAdapter);
Используя этот объект, вы можете выполнить сопряжение с устройством, используя функции интерфейса IBluetooth.
(обычная последовательность для автоматического сопряжения) ::
mBluetoothService.setPin(deviceAddress, PIN);
mBluetoothService.setTrust(deviceAddress);
mBluetoothService.createBond(deviceAddress);
mBluetoothService.setPairingConfirmation(deviceAddress, false);
mBluetoothService.cancelPairingUserInput(deviceAddress);
Используя эти функции, вы можете программно выполнить сопряжение с любым устройством BT.