2013-11-15 6 views
12

Sto cercando un modo per connettere automaticamente il dispositivo Android a un dispositivo Bluetooth LE (4.0 Smart) quando è nel raggio d'azione (e inizia a fare pubblicità). Mi aspetto che funzioni come una cuffia Bluetooth - quando sono accese si collegano automaticamente a un telefono accoppiato (se è nel raggio d'azione).Android: è possibile connettersi automaticamente al dispositivo Bluetooth LE quando entra nel raggio d'azione e inizia a fare pubblicità?

Ho pensato di eseguire un servizio in background che periodicamente (ogni 50-100ms) controlla la pubblicità. Tuttavia, una delle preoccupazioni principali è la durata della batteria del dispositivo Android.

Qualcuno potrebbe consigliare quale sarebbe il modo migliore per implementare tale funzionalità su Android 4.3 e versioni successive?

Grazie in anticipo!

+0

La domanda è se la connessione BLE viene mantenuta quando il dispositivo entra in modalità di sospensione. E l'ho chiesto qui http://stackoverflow.com/questions/29118771/what-happens-to-connection-with-ble-device-when-android-goes-in-sleep-mode/29119416#29119416 –

risposta

1

È possibile registrare un ricevitore di trasmissione per ricevere trasmissioni quando viene rilevato un dispositivo Bluetooth. Consulta l'argomento guida API Bluetooth per dettagli e codice di esempio.

Consultare anche l'argomento Bluetooth Low Energy.

Infine, dare un'occhiata a this thread, che è fondamentalmente la stessa domanda.

+0

Puoi controllare [questa domanda] (http://stackoverflow.com/questions/31761416/connect-to-bluetooth-programmatically) per favore? :( –

0

In realtà, funziona solo con Bluetooth standard. Per Bluetooth smart le trasmissioni ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED non funzionano.

Per BLE è necessario lavorare con le API e le callback in mBluetoothAdapter.startLeScan(mLeScanCallback); una volta trovato il dispositivo.

1

imposta il parametro autoConnect in connectGatt() su true. (secondo parametro)

+1

questo non funziona per me – Onheiron

+0

Ciao, hai un servizio in background a cui è connesso un gattCallback, e una volta avviato il servizio chiami connectGatt con un dispositivo di rimozione che hai creato con l'indirizzo mac che hai, autoConnect = true e i callback pertinenti? – user3698465

Problemi correlati