У меня есть приложение, где я программно контролирую Bluetooth-соединение и разблокировку. После этого я могу соединиться перед подключением и отключить. Причина, по которой мне нужно это сделать, относится только к моему приложению, а не к моему вопросу.
В основном, что я делаю:
- Получить ссылку
ib
toIBluetooth
объект, как описано в этом ответе - Зарегистрируйте BroadcastReceiver для
android.bluetooth.device.action.PAIRING_REQUEST
- Вызов
ib.createBond(address)
- Подождите, пока BroadcastReceiver вызовет
- Преобразование пользовательского вывода в байты с convertPinToBytes()
- Вызов
ib.setPin(address, pinBytes)
из BroadcastReceiver
В любом случае, этот подход отлично работает, за исключением того факта, что когда я делаю сопряжение, я получаю уведомление в строке состояния, запрашивая, чтобы пользователь вводил ПИН-код для завершения сопряжения. Но на самом деле это необязательно, потому что к моменту, когда пользователь это видит, мое приложение уже использовало setPin()
. Мне бы очень хотелось, чтобы это уведомление либо а) не появилось вообще, либо б) было автоматически отклонено.
Я понимаю, что это может быть даже невозможно, но я думал, что попрошу, если у кого-то будет творческая идея.