Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bluetooth API, Bluetooth profilleriyle çalışma desteği içerir. CEVAP
Bluetooth profili, Bluetooth tabanlı cihazlar için
(Eller Serbest profili gibi) cihazlar arasındaki iletişimi destekler. Cep telefonu için
bağlanabilmesi için, her iki cihazın da
Eller Serbest profili.
Bluetooth API, aşağıdaki Bluetooth için uygulamalar sağlar:
profil:
Mikrofonlu kulaklık. Mikrofonlu Kulaklık profili, Bluetooth mikrofonlu kulaklıkların
cep telefonlarıyla kullanılıyor. Android, kullanıcıları
BluetoothHeadset sınıf,
Bluetooth Mikrofonlu Kulaklık Hizmeti'ni
kontrol eden bir proxy olan Buna şunlar dâhildir:
Bluetooth Mikrofonlu Kulaklık ve Eller Serbest (v1.5) profillerinde kullanılabilir. BluetoothHeadset
sınıfı, AT komutlarını destekler. Bu konu hakkında daha fazla bilgi için bkz.
Tedarikçiye özel AT komutları.
A2DP. Gelişmiş Ses Dağıtım Profili (A2DP) profili,
yüksek kaliteli ses, Bluetooth üzerinden bir cihazdan diğerine aktarılabilir
bağlantı. Android, kullanıcıları
BluetoothA2dp sınıfı
kontrol etmek için kullanılan bir proxy'dir.
Sağlık Cihazı. Android, Bluetooth Sağlık Cihazı için destek sağlar
Profil (HDP). Bu, iletişim kurmak için Bluetooth kullanan uygulamalar oluşturmanıza olanak tanır
nabız monitörü, kan gibi Bluetooth'u destekleyen sağlık cihazlarıyla
metre, termometre, tartı vb. kullanabilirsiniz. Desteklenen cihazların listesi ve
ilgili cihaz verileri uzmanlık kodları için Bluetooth'un HDP'sine bakın
Cihaz Verileri
Uzmanlık alanları.
Bu değerlere ISO/IEEE 11073-20601 [7] spesifikasyonunda da referans verilmiştir
Nomenklatür Kodları Ek'inde MDC_DEV_SPEC_PROFILE_* olarak yer almaktadır. Daha fazla
HDP ile ilgili bilgilere bakın: Sağlık Cihazı Profili.
Bir profille çalışmaya ilişkin temel adımlar şunlardır:
Varsayılan bağdaştırıcıyı şurada açıklandığı gibi alın:
Bluetooth kurulumu.
Tekliflerinizi otomatikleştirmek ve optimize etmek için
getProfileProxy()
seçin. Aşağıdaki örnekte profil proxy nesnesi,
BluetoothHeadset
İçinde
onServiceConnected()
profil proxy nesnesi için bir herkese açık kullanıcı adı alır.
Profil proxy nesnesini edindikten sonra, bunu kullanarak
bu profille ilgili diğer işlemleri gerçekleştirebilirsiniz.
Aşağıdaki kod snippet'i, bir BluetoothHeadset proxy'sine nasıl bağlanılacağını göstermektedir
mikrofonlu kulaklık profilini kontrol edin:
Kotlin
varbluetoothHeadset:BluetoothHeadset? =null// Get the default adaptervalbluetoothAdapter:BluetoothAdapter? =BluetoothAdapter.getDefaultAdapter()privatevalprofileListener=object:BluetoothProfile.ServiceListener{overridefunonServiceConnected(profile:Int,proxy:BluetoothProfile){if(profile==BluetoothProfile.HEADSET){bluetoothHeadset=proxyasBluetoothHeadset}}overridefunonServiceDisconnected(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
BluetoothHeadsetbluetoothHeadset;// Get the default adapterBluetoothAdapterbluetoothAdapter=BluetoothAdapter.getDefaultAdapter();privateBluetoothProfile.ServiceListenerprofileListener=newBluetoothProfile.ServiceListener(){publicvoidonServiceConnected(intprofile,BluetoothProfileproxy){if(profile==BluetoothProfile.HEADSET){bluetoothHeadset=(BluetoothHeadset)proxy;}}publicvoidonServiceDisconnected(intprofile){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);
Tedarikçi firmaya özel AT komutları
Uygulamalar önceden tanımlanmış tedarikçi firmaya özgü AT'nin sistem yayınlarını almak için kaydolabilir
mikrofonlu kulaklıklar tarafından gönderilen komutlar (Plantronics +XEVENT komutu gibi). Örneğin,
Bir uygulama, bağlı bir cihazın pil seviyesini belirten yayınları alabilir
ve gerekirse kullanıcıyı bilgilendirebilir veya başka bir işlem yapabilir. Yayın oluşturma
alıcı
ACTION_VENDOR_SPECIFIC_HEADSET_EVENT
mikrofonlu kulaklık için satıcıya özgü AT komutlarını işlemeyi düşünmelidir.
Bluetooth Health API'yi kullanırken şu temel HDP'yi anlamak faydalıdır
kavramlar:
Kaynak
Kiloz, glikoz ölçer veya termometre gibi bir sağlık cihazı
Android telefon veya tablet gibi akıllı bir cihaza tıbbi veri aktaran.
Lavabo
Tıbbi verileri alan akıllı cihaz. Bir HDP uygulamasında
havuzu, BluetoothHealthAppConfiguration nesnesiyle temsil edilir.
Kayıt
Belirli bir sağlık durumuyla iletişim kurmak için havuz kaydetmede kullanılan işlem
Bağlantı
Bir sağlık cihazı (kaynak) ile
akıllı cihaz (lavabo).
HDP uygulaması oluştur
HDP uygulaması oluşturmayla ilgili temel adımlar şunlardır:
BluetoothHealth proxy nesnesine referans alın. Normalde olduğu gibi
mikrofonlu kulaklık ve A2DP profili cihazları için getProfileProxy() numaralı telefonu
BluetoothProfile.ServiceListener ve
HEALTH profil türü
profil proxy nesnesiyle bağlantı kurun.
BluetoothHealthCallback oluşturun ve bir uygulama yapılandırması kaydedin
(BluetoothHealthAppConfiguration) olup olmadığını kontrol edin.
İşlemi tamamladığınızda sağlık kanalını kapatın ve uygulamanın kaydını iptal edin. Kanal ayrıca
uzun süreli etkinlik olmadığında kapanır.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[null,null,["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Bluetooth profiles\n\nThe Bluetooth API includes support for working with Bluetooth profiles. A\nBluetooth profile is a wireless interface specification for Bluetooth-based\ncommunication between devices, such as the Hands-Free profile. For a mobile\ndevice to connect to a wireless headset, both devices must support the\nHands-Free profile.\n\nThe Bluetooth API provides implementations for the following Bluetooth\nprofiles:\n\n- **Headset** . The Headset profile provides support for Bluetooth headsets to be used with mobile phones. Android provides the [`BluetoothHeadset`](/reference/android/bluetooth/BluetoothHeadset) class, which is a proxy for controlling the Bluetooth Headset Service. This includes both Bluetooth Headset and Hands-Free (v1.5) profiles. The `BluetoothHeadset` class includes support for AT commands. For more on this topic, see [Vendor-specific AT commands](#at-commands).\n- **A2DP** . The Advanced Audio Distribution Profile (A2DP) profile defines how high-quality audio can be streamed from one device to another over a Bluetooth connection. Android provides the [`BluetoothA2dp`](/reference/android/bluetooth/BluetoothA2dp) class, which is a proxy for controlling the Bluetooth A2DP Service.\n- **Health Device** . Android provides support for the Bluetooth Health Device Profile (HDP). This lets you create apps that use Bluetooth to communicate with health devices that support Bluetooth, such as heart-rate monitors, blood meters, thermometers, scales, and so on. For a list of supported devices and their corresponding device data specialization codes, see [Bluetooth's HDP\n Device Data\n Specializations](https://www.bluetooth.com/specifications/assigned-numbers/health-device-profile). These values are also referenced in the ISO/IEEE 11073-20601 \\[7\\] specification as `MDC_DEV_SPEC_PROFILE_*` in the Nomenclature Codes Annex. For more information about HDP, see [Health Device Profile](#health-profile).\n\nHere are the basic steps for working with a profile:\n\n1. Get the default adapter, as described in [Bluetooth setup](/develop/connectivity/bluetooth/setup).\n2. Set up a [`BluetoothProfile.ServiceListener`](/reference/android/bluetooth/BluetoothProfile.ServiceListener). This listener notifies [`BluetoothProfile`](/reference/android/bluetooth/BluetoothProfile) clients when they have been connected to or disconnected from the service.\n3. Use [`getProfileProxy()`](/reference/android/bluetooth/BluetoothAdapter#getProfileProxy(android.content.Context,%20android.bluetooth.BluetoothProfile.ServiceListener,%20int)) to establish a connection to the profile proxy object associated with the profile. In the following example, the profile proxy object is an instance of `BluetoothHeadset`.\n4. In [`onServiceConnected()`](/reference/android/bluetooth/BluetoothProfile.ServiceListener#onServiceConnected(int,%20android.bluetooth.BluetoothProfile)), get a handle to the profile proxy object.\n5. Once you have the profile proxy object, use it to monitor the state of the connection and perform other operations that are relevant to that profile.\n\nThe following code snippet shows how to connect to a `BluetoothHeadset` proxy\nobject so that you can control the Headset profile: \n\n### Kotlin\n\n```kotlin\nvar bluetoothHeadset: BluetoothHeadset? = null\n\n// Get the default adapter\nval bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()\n\nprivate val profileListener = object : BluetoothProfile.ServiceListener {\n\n override fun onServiceConnected(profile: Int, proxy: BluetoothProfile) {\n if (profile == BluetoothProfile.HEADSET) {\n bluetoothHeadset = proxy as BluetoothHeadset\n }\n }\n\n override fun onServiceDisconnected(profile: Int) {\n if (profile == BluetoothProfile.HEADSET) {\n bluetoothHeadset = null\n }\n }\n}\n\n// Establish connection to the proxy.\nbluetoothAdapter?.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET)\n\n// ... call functions on bluetoothHeadset\n\n// Close proxy connection after use.\nbluetoothAdapter?.closeProfileProxy(BluetoothProfile.HEADSET, bluetoothHeadset)\n```\n\n### Java\n\n```java\nBluetoothHeadset bluetoothHeadset;\n\n// Get the default adapter\nBluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();\n\nprivate BluetoothProfile.ServiceListener profileListener = new BluetoothProfile.ServiceListener() {\n public void onServiceConnected(int profile, BluetoothProfile proxy) {\n if (profile == BluetoothProfile.HEADSET) {\n bluetoothHeadset = (BluetoothHeadset) proxy;\n }\n }\n public void onServiceDisconnected(int profile) {\n if (profile == BluetoothProfile.HEADSET) {\n bluetoothHeadset = null;\n }\n }\n};\n\n// Establish connection to the proxy.\nbluetoothAdapter.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET);\n\n// ... call functions on bluetoothHeadset\n\n// Close proxy connection after use.\nbluetoothAdapter.closeProfileProxy(bluetoothHeadset);\n```\n\n### Vendor-specific AT commands\n\nApps can register to receive system broadcasts of predefined vendor-specific AT\ncommands sent by headsets (such as a Plantronics +XEVENT command). For example,\nan app could receive broadcasts that indicate a connected device's battery level\nand could notify the user or take other action as needed. Create a broadcast\nreceiver for the\n[`ACTION_VENDOR_SPECIFIC_HEADSET_EVENT`](/reference/android/bluetooth/BluetoothHeadset#ACTION_VENDOR_SPECIFIC_HEADSET_EVENT)\nintent to handle vendor-specific AT commands for the headset.\n\nHealth Device Profile\n---------------------\n\nAndroid supports the Bluetooth Health Device Profile (HDP). The Bluetooth Health\nAPI includes the classes\n[`BluetoothHealth`](/reference/android/bluetooth/BluetoothHealth),\n[`BluetoothHealthCallback`](/reference/android/bluetooth/BluetoothHealthCallback),\nand\n[`BluetoothHealthAppConfiguration`](/reference/android/bluetooth/BluetoothHealthAppConfiguration),\nwhich are described in [Key classes and\ninterfaces](/develop/connectivity/bluetooth#key-classes).\n| **Caution:** The Health Device Profile (HDP) and MCAP protocols are no longer used. New apps should use Bluetooth Low Energy based solutions such as [`BluetoothGatt`](/reference/android/bluetooth/BluetoothGatt), [`BluetoothAdapter.listenUsingL2capChannel()`](/reference/android/bluetooth/BluetoothAdapter#listenUsingL2capChannel()), or [`BluetoothDevice#createL2capChannel(int)`](/reference/android/bluetooth/BluetoothDevice#createL2capChannel(int)).\n\nWhen using the Bluetooth Health API, it's helpful to understand these key HDP\nconcepts:\n\nSource\n: A health device, such as a weight scale, glucose meter, or thermometer, which\n transmits medical data to a smart device, such as an Android phone or tablet.\n\nSink\n: The smart device that receives the medical data. In an HDP app, the\n sink is represented by a `BluetoothHealthAppConfiguration` object.\n\nRegistration\n: The process used to register a sink for communicating with a particular health\n device.\n\nConnection\n: The process used to open a channel between a health device (source) and a\n smart device (sink).\n\n### Create an HDP app\n\nHere are the basic steps involved in creating an HDP app:\n\n1. Get a reference to the `BluetoothHealth` proxy object. As with regular\n headset and A2DP profile devices, you must call `getProfileProxy()` with a\n `BluetoothProfile.ServiceListener` and the\n [`HEALTH`](/reference/android/bluetooth/BluetoothProfile#HEALTH) profile type\n to establish a connection with the profile proxy object.\n\n2. Create a `BluetoothHealthCallback` and register an app configuration\n (`BluetoothHealthAppConfiguration`) that acts as a health sink.\n\n3. Establish a connection to a health device.\n\n | **Note:** Some devices initiate the connection automatically. It is unnecessary to carry out this step for those devices.\n4. When connected successfully to a health device, read and write to the health\n device using the file descriptor. The received data needs to be interpreted\n using a health manager, which implements the [IEEE 11073\n specifications](https://standards.ieee.org/standard/11073-10207-2017.html).\n\n5. When done, close the health channel and unregister the app. The channel also\n closes when there is extended inactivity."]]