Pracuję nad aplikacją dla Androida. Tylko ogólne pytania, czy można połączyć się z urządzeniem, którego nie można znaleźć publicznie?połączyć się z nieodkrytym urządzeniem bluetooth
Z góry dziękuję.
Pracuję nad aplikacją dla Androida. Tylko ogólne pytania, czy można połączyć się z urządzeniem, którego nie można znaleźć publicznie?połączyć się z nieodkrytym urządzeniem bluetooth
Z góry dziękuję.
Przez wykrywalny zakładam, że chodziło ci o odpowiedź na wyszukiwanie urządzenia z innego urządzenia. Niektórzy producenci nazywają go również widocznym. W zależności od producenta urządzenia niektóre urządzenia pozwalają na włączenie Bluetooth i widoczność/wykrywanie możliwości wyłączenia. Więc jeśli znasz już adres Bluetooth (adres MAC) urządzenia, możesz podłączyć się do niego bezpośrednio, nawet gdy urządzenie nie jest wykrywalne/widoczne. W praktyce dobrze jest zrobić, wielu producentów pozwala na to, wyświetlając urządzenie tylko w określonych okresach, takich jak podczas procesu parowania lub posiadając wyraźną opcję menu, aby włączyć funkcję wykrywania zdolności przez określony czas. Jest to dobra praktyka z punktu kontroli bezpieczeństwa, ponieważ zapobiega to śledzeniu urządzenia/hakowaniu.
iPhone jest na przykład domyślnie niemożliwy do wykrycia, gdy funkcja Bluetooth jest włączona (ale nadal można się z nią łączyć), jest wykrywalna tylko po wejściu do menu Bluetooth z menu ustawień.
Jeśli wcześniej sparowałeś się z urządzeniem, możliwe jest ponowne połączenie z nim, nawet jeśli nie jest on w trybie wykrywalnym. Zobacz ten post: programmatically-connect-to-paired-bluetooth-device
// use paired devices or create a BluetoothDevice using a mac address
//Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
BluetoothAdapter myAdapter = BluetoothAdapter.getDefaultAdapter();
BluetoothDevice remoteDevice = myAdapter.getRemoteDevice("00:00:00:00:00:00");
BluetoothSockt btSocket = remoteDevice.createRfcommSocketToServiceRecord(UUID);
btSocket.connect();
//get input and output stream etc...
Jest to możliwe w standardzie Bluetooth. Zrobiłem to wiele razy łącząc dwa moduły z Bluegiga razem po prostu używając adresu MAC, który znałem z wyprzedzeniem.
Android pozwoli Ci to zrobić z createInsecureRfcommSocketToServiceRecord