Mam aplikację, w której programowo kontroluję parowanie i rozłączanie Bluetooth. Potrafię sparować przed połączeniem i sparować później. Powód, dla którego muszę to zrobić, jest specyficzny dla mojego wniosku, a nie w zakresie mojego pytania.Jak mogę uniknąć lub odrzucić powiadomienie o parowaniu Bluetooth w Androidzie, gdy robię parowanie programowe?
zasadzie to, co robię jest:
- uzyskać odwołanie
ib
doIBluetooth
przedmiot opisany w this answer - Zarejestruj BroadcastReceiver dla
android.bluetooth.device.action.PAIRING_REQUEST
- połączeń
ib.createBond(address)
- Czekaj na BroadcastReceiver wywołać
- Konwersja PIN użytkownika na bajty z convertPinToBytes()
- połączenia
ib.setPin(address, pinBytes)
od wewnątrz BroadcastReceiver
Anyways, takie podejście działa świetnie, z wyjątkiem faktu, że kiedy wykonać parowanie, dostaję powiadomienie na pasku stanu, prosząc użytkownika o podanie numeru PIN, aby zakończyć łączenie w pary. Ale w rzeczywistości nie jest to konieczne, ponieważ do czasu, gdy użytkownik to zobaczył, moja aplikacja już używała setPin()
. Bardzo bym chciał, aby to powiadomienie: a) w ogóle się nie pojawiło, lub b) zostanie jakoś automatycznie odrzucone.
Wiem, że to może nie być możliwe, ale pomyślałem, że zapytam, na wypadek, gdyby ktoś miał pomysł.
Czy możesz dodać przykładowy kod (lub link do kodu źródłowego). To, co chcę zrobić, jest w rzeczywistości takie samo jak Ty. Chcę połączyć się z urządzeniem bez żądania hasła. Z poważaniem, Jeroen – Jeroen
Niestety nie mogę udostępnić mojego kodu źródłowego, ale krok po kroku, który mam powyżej, jest bardzo zbliżony do rzeczywistego kodu. Możesz zacząć korzystać z kodu źródłowego w odpowiedzi, do której link w kroku 1. –
@JoelF czy rozwiązałeś swój problem? Ponieważ ja nie. Naprawdę doceniam, że możesz podzielić się tym, jak rozwiązać, jeśli tak jest. – Tiago