Pour que votre application puisse communiquer via Bluetooth ou Bluetooth à basse consommation,
vous devez vérifier que le Bluetooth
est pris en charge sur l'appareil et, le cas échéant,
assurez-vous qu'elle est activée. Notez que cette vérification n'est nécessaire que si
L'attribut android:required
dans l'entrée du fichier manifeste <uses-feature.../>
est
définie sur false
.
Si le Bluetooth n'est pas pris en charge, vous devez désactiver en douceur toutes les connexions caractéristiques. Si le Bluetooth est pris en charge, mais désactivé, vous pouvez demander que activer le Bluetooth sans quitter l'application.
La première étape est ajout des autorisations Bluetooth à votre fichier manifeste afin d'utiliser les API suivantes.
Une fois les autorisations en place, la configuration Bluetooth s'effectue en deux étapes.
à l'aide de BluetoothAdapter
:
Obtenez le
BluetoothAdapter
.Le
BluetoothAdapter
est requis pour toute activité Bluetooth. LaBluetoothAdapter
représente l'adaptateur Bluetooth propre à l'appareil (le une radio Bluetooth). Pour obtenir uneBluetoothAdapter
, vous devez d'abord disposer d'unContext
Utilisez ce contexte pour obtenir Une instance deBluetoothManager
Google Cloud. Vous appelezBluetoothManager#getAdapter
génère un objetBluetoothAdapter
. SigetAdapter()
renvoie une valeur nulle, cela signifie que l’appareil n’est pas compatible avec le Bluetooth.Exemple :
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 }
Activez le Bluetooth.
Ensuite, vous devez vous assurer que le Bluetooth est activé. Appeler
isEnabled()
jusqu'à vérifiez si le Bluetooth est actuellement activé. Si cette méthode renvoie "false", alors le Bluetooth est désactivé. Pour demander l'activation du Bluetooth, appelezstartActivityForResult()
, en transmettantACTION_REQUEST_ENABLE
une action d'intent. Cet appel envoie une demande d'activation du Bluetooth via le les paramètres système (sans arrêter votre application).Exemple :
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); }
Une boîte de dialogue s'affiche pour demander à l'utilisateur l'autorisation d'activer le Bluetooth, comme illustré dans figure 1. Si l'utilisateur donne son autorisation, le système commence à activer le Bluetooth, et le focus revient à votre application une fois que le processus est terminé (ou échoué).
Figure 1 : Boîte de dialogue d'activation du Bluetooth.
La constante REQUEST_ENABLE_BT
transmise à
startActivityForResult()
est un entier défini localement qui doit être supérieur ou égal à 0. Le système
cette constante vous est transmise
onActivityResult()
l'implémentation en tant que paramètre requestCode
.
Si l'activation du Bluetooth réussit, votre activité reçoit l'événement
Code de résultat RESULT_OK
dans
Rappel onActivityResult()
. Si le Bluetooth n'a pas été activé en raison d'une erreur (ou
l'utilisateur a répondu « Refuser »), le code de résultat est
RESULT_CANCELED
Votre application peut éventuellement écouter l'événement
ACTION_STATE_CHANGED
l'intent de diffusion, que le système diffuse chaque fois que l'état du Bluetooth
des modifications. Cette diffusion contient des champs supplémentaires
EXTRA_STATE
et
EXTRA_PREVIOUS_STATE
,
contenant respectivement les nouveaux et les anciens états Bluetooth. Valeurs possibles pour
ces champs supplémentaires sont
STATE_TURNING_ON
,
STATE_ON
,
STATE_TURNING_OFF
,
et STATE_OFF
.
Écouter cette annonce peut être utile si votre application doit détecter un environnement d'exécution
les modifications apportées à l'état du Bluetooth.
Une fois le Bluetooth activé sur l'appareil, vous pouvez utiliser à la fois les versions Bluetooth classique et Bluetooth à basse consommation.
Avec la version Bluetooth classique, vous pouvez rechercher des appareils Bluetooth et se connecter à des appareils Bluetooth.
Pour la technologie Bluetooth à basse consommation, vous pouvez rechercher des appareils BLE, vous connecter à un serveur GATT et transférer des données BLE.