Autore Topic: Bluetooth: funziona anche quando non c'è il server!  (Letto 1147 volte)

Offline Phate

  • Utente junior
  • **
  • Post: 123
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy S
  • Sistema operativo:
    Windows 7
Bluetooth: funziona anche quando non c'è il server!
« il: 13 Maggio 2012, 16:37:37 CEST »
0
Ciao, ho creato un'applicazione client server e ho questo problema:
Codice: [Seleziona]
BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(macAddr);
                            try {
                                    BluetoothSocket socket = device.createRfcommSocketToServiceRecord(
                                                    UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
                                    socket.connect();
la chiamata connect(), come da oggetto, mi funziona sia col server attivo che non!
Ovviamente finché è attivo funziona tutto bene...ma come mai non lancia eccezione se non c'è nessuno dall'altra parte??

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #1 il: 18 Maggio 2012, 08:54:01 CEST »
+1
Ciao,
io ho lavorato con Bluetooth...e devo ammettere che è veramente un incubo.
Ti posto il mio metodo:

Codice (Java): [Seleziona]
public synchronized void connectDevice(BluetoothDevice device, final boolean partyRequest) {
        try {
                final BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MYUUID);
                        Thread thread = new Thread() {
                                public void run() {
                                        try {
                                                socket.connect();
                                        } catch (IOException e) {
                                                e.printStackTrace();
                                                Log.e(TAG, "Error in connectDevice() - Thread-run()", e);
                                        }
                                        if (socket != null) {
                                                createConnection(socket, partyRequest);
                                        }
                                }
                        };
                        thread.start();
                } catch (IOException e) {
                        Log.e(TAG, "Error in connectDevice()");
                }
        }

Se non ho capito male, il tuo problema è sul connect(); Io Il tuo problema non l'ho mai riscontrato...usa il LogCat per controllare i valori delle variabili... Io ho solo avuto problemi con il metodo createRfcommSocketToServiceRecord() e mi tornava null; però SE tornava un socket, questo si connetteva sempre.

Offline Phate

  • Utente junior
  • **
  • Post: 123
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy S
  • Sistema operativo:
    Windows 7
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #2 il: 18 Maggio 2012, 09:53:39 CEST »
0
Risolto alla fine era un errore da newby: semplicemente non terminavo l'activity precedente con finish e questa si ritrovava un flag alzato che la faceva passare alla successiva dando l'impressione che si fosse connessa!
Ottimo il tuo metodo cmq, grazie mille!

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #3 il: 18 Maggio 2012, 12:22:07 CEST »
0
Ok, comunque quando si tratta di cose tipo connect() che potrebbe bloccare l'activity per anche solo qualche frazione di secondo, ti consiglio di usare un thread a parte, e fare altro nell'attesa, tipo io ho messo un ProgressDialog con la scritta "Connecting...".

Offline Phate

  • Utente junior
  • **
  • Post: 123
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy S
  • Sistema operativo:
    Windows 7
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #4 il: 19 Maggio 2012, 10:01:10 CEST »
0
Si anche io ho fatto così, non l'ho scritto perché non era rilevante.

Offline agenio

  • Utente junior
  • **
  • Post: 77
  • Respect: +11
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Sistema operativo:
    Windows 8.1
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #5 il: 19 Maggio 2012, 11:23:07 CEST »
0
Considerando l'accelerazione costante e conoscendo il tempo ... potresti provare con una derivazione numerica .... v = a*t
« Ultima modifica: 19 Maggio 2012, 11:25:55 CEST da agenio »

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #6 il: 19 Maggio 2012, 11:24:34 CEST »
0
Considerando l'accelerazione costante e conoscendo il tempo ... potresti provare con una derivazione numerica
ma che c'entra col bluetooth?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline agenio

  • Utente junior
  • **
  • Post: 77
  • Respect: +11
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Sistema operativo:
    Windows 8.1
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #7 il: 19 Maggio 2012, 11:27:57 CEST »
0
ma che c'entra col bluetooth?

c'entra poco niente ... ho sbagliato post :) ... però almeno è sempre un post aperto da Phate

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #8 il: 19 Maggio 2012, 11:30:07 CEST »
0
c'entra poco niente ... ho sbagliato post :) ... però almeno è sempre un post aperto da Phate
hahahah ora ho capito! :D
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Phate

  • Utente junior
  • **
  • Post: 123
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy S
  • Sistema operativo:
    Windows 7
Re:Bluetooth: funziona anche quando non c'è il server!
« Risposta #9 il: 19 Maggio 2012, 11:48:41 CEST »
0
Lol buon consiglio cmq, ti faccio sapere nell'altro post!  :D