Per consentire alla tua app di comunicare tramite Bluetooth o Bluetooth Low Energy:
devi verificare che il Bluetooth sia supportato sul dispositivo e, se lo è,
verifica che sia abilitato. Tieni presente che questo controllo è necessario solo se
L'attributo android:required
nella voce del file manifest <uses-feature.../>
è
impostato su false
.
Se il Bluetooth non è supportato, devi disattivare manualmente qualsiasi le funzionalità di machine learning. Se il Bluetooth è supportato, ma disattivato, puoi richiedere che il attivare il Bluetooth senza uscire dall'app.
Il primo passaggio consiste nel aggiungendo le autorizzazioni Bluetooth al file manifest per utilizzare le API riportate di seguito.
Una volta definite le autorizzazioni, la configurazione del Bluetooth viene eseguita in due passaggi
utilizzando BluetoothAdapter
:
Acquista
BluetoothAdapter
.Il
BluetoothAdapter
è necessario per tutte le attività Bluetooth. LaBluetoothAdapter
rappresenta l'adattatore Bluetooth del dispositivo (il radio Bluetooth). Per ricevere unBluetoothAdapter
, devi prima avere unContext
Utilizza questo contesto per ottenere un'istanza diBluetoothManager
servizio di sistema. Chiamata aBluetoothManager#getAdapter
in corso... ti fornirà un oggettoBluetoothAdapter
. SegetAdapter()
restituisce null, significa che il dispositivo non supporta il Bluetooth.Ad esempio:
Kotlin
val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java) val bluetoothAdapter: BluetoothAdapter? = bluetoothManager.getAdapter() if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
Java
BluetoothManager bluetoothManager = getSystemService(BluetoothManager.class); BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
Attiva Bluetooth.
Dopodiché devi assicurarti che il Bluetooth sia attivo. Chiama Da
isEnabled()
a controlla se il Bluetooth è attualmente attivo. Se questo metodo restituisce false, il Bluetooth è disattivato. Per richiedere l'attivazione del Bluetooth, chiamastartActivityForResult()
, passando unACTION_REQUEST_ENABLE
azione basata sull'intent. Questa chiamata richiede l'attivazione del Bluetooth tramite impostazioni di sistema (senza interrompere l'app).Ad esempio:
Kotlin
if (bluetoothAdapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT) }
Java
if (!bluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); }
Viene visualizzata una finestra di dialogo che richiede l'autorizzazione dell'utente per attivare il Bluetooth, come mostrato in figura 1. Se l'utente concede l'autorizzazione, il sistema inizia ad attivare il Bluetooth. e lo stato attivo torna sulla tua app una volta che il processo è stato completato (o non va a buon fine).
e
Figura 1. La finestra di dialogo per l'attivazione del Bluetooth.
La costante REQUEST_ENABLE_BT
passata a
startActivityForResult()
è un numero intero definito localmente che deve essere maggiore o uguale a 0. Il sistema
ti ritrasmette questa costante
onActivityResult()
implementazione come parametro requestCode
.
Se l'attivazione del Bluetooth ha esito positivo, la tua attività riceve il
RESULT_OK
del codice risultato nel
Chiamata di onActivityResult()
. Se il Bluetooth non è stato attivato a causa di un errore (o
l'utente ha risposto "Rifiuta"), il codice del risultato sarà
RESULT_CANCELED
Se vuoi, la tua app può anche ascoltare
ACTION_STATE_CHANGED
per intent, che il sistema trasmette ogni volta che lo stato Bluetooth
modifiche. Questa trasmissione contiene i campi aggiuntivi
EXTRA_STATE
e
EXTRA_PREVIOUS_STATE
,
contenenti rispettivamente il nuovo e il vecchio stato Bluetooth. Valori possibili per
questi campi aggiuntivi
STATE_TURNING_ON
,
STATE_ON
,
STATE_TURNING_OFF
,
e STATE_OFF
.
L'ascolto di questa trasmissione può essere utile se la tua app deve rilevare l'esecuzione
modifiche apportate allo stato Bluetooth.
Dopo aver attivato il Bluetooth sul dispositivo, puoi utilizzare sia Bluetooth Classic che Bluetooth Low Energy.
Per Bluetooth Classic, puoi trovare dispositivi Bluetooth e connettersi a dispositivi Bluetooth.
Per Bluetooth Low Energy, puoi trovare dispositivi BLE, connetterti a un server GATT e trasferire i dati BLE.