2010-10-13 16 views

Odpowiedz

3

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ń.

6

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... 
1

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

Powiązane problemy