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.
- Kur
BluetoothProfile.ServiceListener
. Bu dinleyici,BluetoothProfile
istemci Hizmet'e bağlı olduklarında veya bağlantıları kesildiğinde. - 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
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);
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.
Sağlık Cihazı Profili
Android, Bluetooth Sağlık Cihazı Profili'ni (HDP) destekler. Bluetooth Health
API'de yer alan
BluetoothHealth
BluetoothHealthCallback
,
ve
BluetoothHealthAppConfiguration
,
Bu öğeler, Temel sınıflar ve
.
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çingetProfileProxy()
numaralı telefonuBluetoothProfile.ServiceListener
veHEALTH
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.Bir sağlık cihazıyla bağlantı oluşturun.
Bir sağlık cihazına başarılı bir şekilde bağlanıldığında sağlık durumunu okuyup yazma veya dosya tanımlayıcıyı kullanarak sorunu giderebilirsiniz. Alınan verilerin yorumlanması ve IEEE 11073 belgesini uygulayan bir sağlık yöneticisi ile spesifikasyonlarını inceleyin.
İş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.