Bluetooth Düşük Enerji

Android 4.3 ve sonraki sürümlerde bulunan Bluetooth Düşük Enerji (BLE), veri patlamalarını aktarmak için cihazlar arasında kısa bağlantılar oluşturur. BLE bağlanmadığında uyku modunda kalır. Bu, BLE'nin Klasik Bluetooth'a kıyasla daha düşük bant genişliği ve daha az güç tüketimi sağlamasına olanak tanır. Kalp atış hızı monitörü 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 Özellik Profilini (GATT) temel alır. Bir Android cihazı bir BLE cihazıyla etkileşime girdiğinde, bilgi gönderen cihaz sunucu, bilgiyi alan cihaz ise istemcidir. Android, GATT sunucuları ve GATT istemcileri arasındaki etkileşimlere yönelik API'ler de dahil olmak üzere, BLE için geliştirici API'lerini içerir. BLE API'lerinden tam olarak yararlanmak için Android Bluetooth HCI Gereksinimlerini uygulayın.

Cihaz modları

BLE kullanırken bir Android cihazı çevresel cihaz, merkezi cihaz veya her ikisi gibi davranabilir. Çevre birimi modu, cihazların reklam paketleri göndermesine olanak tanır. Merkezi mod, cihazların reklamları taramasına olanak tanır. Hem çevresel hem de merkezi cihaz olarak görev yapan bir Android cihazı, çevresel modda reklam gönderirken diğer BLE çevre birimleriyle iletişim kurabilir. Bluetooth 4.1 ve önceki sürümleri destekleyen cihazlar BLE'yi yalnızca merkezi modda kullanabilir. Daha eski cihaz yonga setleri BLE çevre birimi modunu desteklemeyebilir.

BLE taraması

Bir Android cihazı, BLE kullanırken belirli Bluetooth cihazlarını daha verimli bir şekilde hedefleyebilir ve tarayabilir. BLE API'leri, uygulama geliştiricilerinin ana bilgisayar denetleyicisinin daha az katılımıyla cihazları bulmak için filtreler oluşturmasına olanak tanır.

Konum taraması

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

  1. Ayarlar > Güvenlik ve Konum > Konum'a gidin.
  2. Konum Açık / Kapalı anahtarının Açık konumda olup olmadığını kontrol edin.
  3. Mod'a gidin.
  4. Yüksek doğruluk veya Pil tasarrufu modunu seçin.

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

Android 12'den itibaren BLUETOOTH_SCAN , BLUETOOTH_ADVERTISE ve BLUETOOTH_CONNECT izinleri, uygulamaların konum izni istemesine gerek kalmadan yakındaki cihazları taramasına olanak tanıyabilir. Daha fazla bilgi için bkz. Android 12'deki yeni Bluetooth izinleri .

Kullanıcılar, Ayarlar > Güvenlik ve Konum > Konum > Tarama bölümüne gidip Bluetooth taraması geçişini devre dışı bırakarak sistem düzeyinde Bluetooth arka plan taramasını devre dışı bırakabilir. Bu, konum veya yerel cihazlar için BLE taramasını etkilemez.

Tarama sonuçlarını filtreleme

Android 6.0 ve üzeri, Bluetooth denetleyicisinde BLE tarama ve filtre eşleştirmeyi içerir. Bir cihaz, tarama sonuçlarını filtreleyebilir ve BLE cihazlarıyla ilgili bulunan ve kaybolan olayları uygulama işlemcisine (AP) rapor edebilir. Filtreleme aynı zamanda toplu taramalar için de işe yarar; bu, BLE taraması ürün yazılımına aktarıldığından güç tasarrufuna yardımcı olur. Toplu taramalar, cihazlar veya işaretler için BLE taraması nedeniyle AP'nin uyanma sıklığını azaltır.

OnFound / OnLost özelliği Bluetooth denetleyicisine uygulanır ve ardından BLE cihazlarının taramalarda gözden kaçırılmadığını doğrulamak için test edilir. Bu, güç tasarrufu sağlar ve aynı zamanda aşağıdaki faydaları da sağlayabilir:

  • OnFound olayı için ana AP, belirli bir cihazın keşfi üzerine uyanır.
  • OnLost olayında AP, belirli bir cihaz bulunamadığında uyanır.
  • Çerçeve uygulamaları yakındaki bir cihaz kapsama alanında olduğunda daha az istenmeyen bildirim alır.
  • Sürekli taramalar, bir cihaz kapsama alanı dışında olduğunda çerçeve uygulamalarının bilgilendirilmesini sağlar.

Tarama filtresi, bir cihazın reklamlarının ( OnFound olayı) keşfedilmesine 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.