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:
- Ayarlar > Güvenlik ve Konum > Konum'a gidin.
- Konum Açık/Kapalı açma/kapatma düğmesinin Açık konumunda olduğundan emin olun.
- Mod'a gidin.
- 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.