Bluetooth Düşük Enerji

Android 4.3 ve sonraki sürümlerde kullanılabilen Bluetooth Düşük Enerji (BDE), veri paketlerini aktarmak için cihazlar arasında kısa bağlantılar oluşturur. BLE, bağlı değilken uyku modunda kalır. Bu sayede BDE, Klasik Bluetooth'a kıyasla daha düşük bant genişliği ve daha düşük güç tüketimi sunar. Nabız ölçer veya kablosuz klavye gibi uygulamalar için idealdir. BLE'yi kullanmak için cihazların BLE'yi destekleyen bir yonga setine sahip olması gerekir.

Uygulama

Mevcut tüm BLE uygulama profilleri Genel Özellikler Profili'ni (GATT) temel alır. Bir Android cihaz BLE cihazıyla etkileşime girdiğinde, bilgi gönderen cihaz sunucu, bilgi alan cihaz ise istemci olur. Android, GATT sunucuları ile GATT istemcileri arasındaki etkileşimler için API'ler de dahil olmak üzere BLE için geliştirici API'leri içerir. BLE API'lerinden tam olarak yararlanmak için Android Bluetooth HCI Şartları'nı uygulayın.

Cihaz modları

Android cihazlar, BLE kullanırken çevre birimi cihazı, merkezi cihaz veya her ikisi olarak görev yapabilir. Çevresel mod, cihazların reklam paketleri göndermesine olanak tanır. Merkezi mod, cihazların reklam taramasına izin verir. Hem çevre birimi hem de merkezi cihaz olarak çalışan bir Android cihaz, çevre birimi modunda reklam gönderirken diğer BLE çevre birimi cihazlarıyla iletişim kurabilir. Bluetooth 4.1 ve önceki sürümleri destekleyen cihazlar, BLE'yi yalnızca merkezi modda kullanabilir. Eski cihaz yonga setleri BLE çevre birimi modunu desteklemeyebilir.

BDE taraması

Android cihazlar, BLE kullanırken belirli Bluetooth cihazlarını daha verimli bir şekilde hedefleyebilir ve tarayabilir. BLE API'leri, uygulama geliştiricilerin ana kontrolörden daha az katılımla cihaz bulmak için filtreler oluşturmasına olanak tanır.

Konum tarama

Cihazın konum hizmetleri, Bluetooth işaretçilerini tespit etmek ve daha doğru bir konum bilgisi sağlamak için Bluetooth'u kullanabilir. Kullanıcılar bu özelliği şu şekilde etkinleştirebilir:

  1. Ayarlar > Güvenlik ve Konum > Konum'a gidin.
  2. Konum Açık/Kapalı açma/kapatma düğmesinin Açık konumunda olduğundan emin olun.
  3. Mod'a gidin.
  4. Yüksek doğruluk veya Pil tasarrufu modunu seçin.

Android 11 veya önceki sürümlerde, yalnızca bağlanılacak cihazları bulmak için tarama yapıyor olsalar bile uygulamaların BLE taramasını kullanması için konum izinleri gerekir. Kullanıcı konum taramasını devre dışı bırakırsa veya uygulamaya konum izni vermezse uygulama BLE tarama sonucu almaz.

Android 12'den itibaren BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE ve BLUETOOTH_CONNECT izinleri, uygulamaların konum izni istemek zorunda kalmadan yakındaki cihazları taramasına izin verebilir. Daha fazla bilgi için Android 12'deki yeni Bluetooth izinleri başlıklı makaleyi inceleyin.

Kullanıcılar, Ayarlar > Güvenlik ve Konum > Konum > Tara'ya gidip Bluetooth taraması açma/kapatma düğmesini devre dışı bırakarak sistem düzeyinde Bluetooth arka plan taramasını devre dışı bırakabilir. Bu işlem, konum veya yerel cihazlar için BLE taramasını etkilemez.

Tarama sonuçlarını filtreleme

Android 6.0 ve sonraki sürümlerde Bluetooth denetleyicide BLE taraması ve filtre eşleştirme bulunur. Cihaz, tarama sonuçlarını filtreleyebilir ve BLE cihazlarla ilgili bulunan ve kayıp etkinliklerini uygulama işlemcisine (AP) bildirebilir. Filtreleme, toplu taramalarda da çalışır. Bu sayede BLE taraması donanım yazılımına aktarıldığı için güç tasarrufu sağlanır. Toplu taramalar, cihazlar veya işaretçiler için BLE taraması nedeniyle AP'nin ne sıklıkta uyandığı

OnFound/OnLost özelliği Bluetooth denetleyiciye uygulanır ve ardından BLE cihazlarının taramalar sırasında atlanmadığından emin olmak için test edilir. Bu durum, güç tasarrufu sağlar ve aşağıdaki avantajları da sağlayabilir:

  • OnFound etkinliğinde, ana AP belirli bir cihaz tespit edildiğinde uyanır.
  • OnLost etkinliğinde, belirli bir cihaz bulunamadığında AP uyanır.
  • Framework uygulamaları, yakındaki bir cihaz kapsama alanındayken daha az istenmeyen bildirim alır.
  • Sürekli taramalar, bir cihaz kapsama alanından çıktığında çerçeve uygulamalarına bildirim gönderilmesini sağlar.

Tarama filtresi, bir cihazın reklamlarının keşfine (OnFound etkinliği) dayalı olabilir. Java katmanı, ilk keşif (veya ilk keşiften bu yana belirli sayıda reklam) gibi parametreleri belirtebilir. Reklam Paketi İçerik Filtresi HCI komutunu kullanarak BLE filtrelemeyi uygulayın.