L'API Bluetooth est compatible avec l'utilisation de profils Bluetooth. A Le profil Bluetooth est une spécification d'interface sans fil pour la communication entre les appareils, comme le profil mains libres. Pour un mobile appareil pour se connecter à un casque sans fil, les deux appareils doivent être compatibles avec le Profil mains libres.
L'API Bluetooth fournit des implémentations pour les attributs profils:
- Casque : Le profil Casque est compatible avec les casques Bluetooth
utilisés avec
les téléphones portables. Android offre
la classe
BluetoothHeadset
, qui est un proxy pour contrôler le service de casque Bluetooth. Cela inclut pour les casques Bluetooth et les profils mains libres (v1.5).BluetoothHeadset
inclut la prise en charge des commandes AT. Pour en savoir plus à ce sujet, consultez Commandes AT spécifiques aux fournisseurs. - A2DP : Le profil A2DP (Advanced Audio Distribution Profile) définit
un son de haute qualité peut être diffusé en streaming d'un appareil à un autre via un
. Android offre
BluetoothA2dp
, qui est un proxy pour contrôler le service Bluetooth A2DP. - Appareil de santé. Android prend en charge l'appareil de santé Bluetooth
(HDP). Cela vous permet de créer des applis qui communiquent via le Bluetooth
avec des appareils de santé qui prennent en charge le Bluetooth, comme les cardiofréquencemètres, le sang
mètres, thermomètres, balances, etc. Pour obtenir la liste des appareils et
les codes de spécialisation correspondants pour les données de l'appareil, consultez l'article HDP
Données relatives à l'appareil
Spécialisations
Ces valeurs sont également référencées dans la spécification ISO/IEEE 11073-20601 [7].
sous la forme
MDC_DEV_SPEC_PROFILE_*
dans l'annexe des codes de nomenclature. Pour plus informations sur le HDP, consultez Health Device Profile.
Voici les étapes de base à suivre pour utiliser un profil:
- Obtenez l'adaptateur par défaut, comme décrit dans la section Configuration Bluetooth :
- Configurez un
BluetoothProfile.ServiceListener
Cet écouteur informeBluetoothProfile
clients quand ils ont été connectés ou déconnectés du service. - Utilisez
getProfileProxy()
pour établir une connexion à l'objet proxy de profil associé au profil. Dans l'exemple suivant, l'objet proxy de profil est une instance deBluetoothHeadset
- Dans
onServiceConnected()
, obtenir un handle vers l'objet de proxy de profil. - Une fois que vous disposez de l'objet proxy de profil, utilisez-le pour surveiller l'état du connexion et d'effectuer d'autres opérations pertinentes pour ce profil.
L'extrait de code suivant montre comment se connecter à un proxy BluetoothHeadset
afin de contrôler le profil du casque:
Kotlin
var bluetoothHeadset: BluetoothHeadset? = null // Get the default adapter val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter() private val profileListener = object : BluetoothProfile.ServiceListener { override fun onServiceConnected(profile: Int, proxy: BluetoothProfile) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = proxy as BluetoothHeadset } } override fun onServiceDisconnected(profile: Int) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = null } } } // Establish connection to the proxy. bluetoothAdapter?.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET) // ... call functions on bluetoothHeadset // Close proxy connection after use. bluetoothAdapter?.closeProfileProxy(BluetoothProfile.HEADSET, bluetoothHeadset)
Java
BluetoothHeadset bluetoothHeadset; // Get the default adapter BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); private BluetoothProfile.ServiceListener profileListener = new BluetoothProfile.ServiceListener() { public void onServiceConnected(int profile, BluetoothProfile proxy) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = (BluetoothHeadset) proxy; } } public void onServiceDisconnected(int profile) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = null; } } }; // Establish connection to the proxy. bluetoothAdapter.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET); // ... call functions on bluetoothHeadset // Close proxy connection after use. bluetoothAdapter.closeProfileProxy(bluetoothHeadset);
Commandes AT spécifiques au fournisseur
Les applications peuvent s'inscrire pour recevoir des diffusions système d'AT prédéfinies et spécifiques au fournisseur.
envoyées par les casques (comme une commande Plantronics +XEVENT). Par exemple :
une application peut recevoir des annonces qui indiquent le niveau de batterie d'un appareil connecté
et pourrait avertir l'utilisateur
ou prendre d'autres mesures si nécessaire. Créer une diffusion
récepteur de
ACTION_VENDOR_SPECIFIC_HEADSET_EVENT
pour gérer les commandes AT
spécifiques au fournisseur pour le casque.
Profil de santé de l'appareil
Android est compatible avec le profil d'appareil de santé Bluetooth (HDP). L'état Bluetooth
L'API inclut les classes
BluetoothHealth
,
BluetoothHealthCallback
,
et
BluetoothHealthAppConfiguration
,
décrites à la section Classes clés et
inter-interfaces.
Lorsque vous utilisez l'API Bluetooth Health, il est utile de comprendre concepts:
- Source
- Un appareil de santé, tel qu'une balance, un glucomètre ou un thermomètre, transmet des données médicales à un appareil connecté, comme un téléphone ou une tablette Android.
- Lavabo
- Appareil connecté qui reçoit les données médicales. Dans une application HDP, le
est représenté par un objet
BluetoothHealthAppConfiguration
. - Enregistrements
- Processus utilisé pour enregistrer un récepteur afin de communiquer avec un état particulier appareil.
- Connexion
- Processus permettant d'ouvrir un canal entre un appareil de santé (source) et un appareil connecté (récepteur).
Créer une application HDP
Voici les étapes de base de la création d'une application HDP:
Obtenez une référence à l'objet de proxy
BluetoothHealth
. Comme pour les casque et appareils avec profil A2DP, vous devez appelergetProfileProxy()
avec unBluetoothProfile.ServiceListener
et les Type de profilHEALTH
pour établir une connexion avec l'objet proxy de profil.Créer un
BluetoothHealthCallback
et enregistrer une configuration d'application (BluetoothHealthAppConfiguration
) qui sert de récepteur de santé.Établissez une connexion à un appareil de santé.
Une fois connecté à un appareil Santé, lire et écrire sur l'appareil appareil à l'aide du descripteur de fichier. Les données reçues doivent être interprétées à l'aide d'un gestionnaire d'état, qui met en œuvre la norme IEEE 11073 caractéristiques.
Lorsque vous avez terminé, fermez le canal Santé et annulez l'enregistrement de l'application. La chaîne se ferme en cas d'inactivité prolongée