Bluetooth Low Energy (BLE), tersedia di Android 4.3 dan lebih baru, menciptakan koneksi singkat antar perangkat untuk mentransfer semburan data. BLE tetap dalam mode tidur saat tidak terhubung. Hal ini memungkinkan BLE menyediakan bandwidth yang lebih rendah dan konsumsi daya yang lebih rendah dibandingkan dengan Bluetooth Klasik. Ini ideal untuk aplikasi seperti monitor detak jantung atau keyboard nirkabel. Untuk menggunakan BLE, perangkat harus memiliki chipset yang mendukung BLE.
Penerapan
Semua profil aplikasi BLE saat ini didasarkan pada Generic Attribute Profile (GATT). Ketika perangkat Android berinteraksi dengan perangkat BLE, perangkat yang mengirimkan informasi adalah server dan perangkat yang menerima informasi adalah klien. Android menyertakan API pengembang untuk BLE , termasuk API untuk interaksi antara server GATT dan klien GATT. Untuk sepenuhnya memanfaatkan BLE API, terapkan Persyaratan Android Bluetooth HCI .
Mode perangkat
Saat menggunakan BLE, perangkat Android dapat bertindak sebagai perangkat periferal, perangkat pusat, atau keduanya. Mode periferal memungkinkan perangkat mengirim paket iklan. Mode sentral memungkinkan perangkat memindai iklan. Perangkat Android yang bertindak sebagai perangkat periferal dan pusat dapat berkomunikasi dengan perangkat periferal BLE lainnya sambil mengirimkan iklan dalam mode periferal. Perangkat yang mendukung Bluetooth 4.1 dan versi lebih lama hanya dapat menggunakan BLE dalam mode sentral. Chipset perangkat lama mungkin tidak mendukung mode periferal BLE.
Pemindaian BLE
Perangkat Android dapat menargetkan dan memindai perangkat Bluetooth tertentu dengan lebih efisien saat menggunakan BLE. BLE API memungkinkan pengembang aplikasi membuat filter untuk menemukan perangkat dengan keterlibatan lebih sedikit dari pengontrol host.
Pemindaian lokasi
Layanan lokasi perangkat dapat menggunakan Bluetooth untuk mendeteksi suar Bluetooth dan memberikan lokasi yang lebih akurat. Beginilah cara pengguna mengaktifkan fitur tersebut:
- Buka Pengaturan > Keamanan & Lokasi > Lokasi .
- Periksa apakah tombol Lokasi Hidup / Mati berada pada posisi Hidup .
- Masuk ke Modus .
- Pilih mode Akurasi tinggi atau Hemat baterai .
Di Android 11 atau lebih rendah, masing-masing aplikasi memerlukan izin lokasi untuk menggunakan pemindaian BLE, meskipun aplikasi tersebut hanya memindai untuk menemukan perangkat yang dapat dihubungkan. Jika pengguna menonaktifkan pemindaian lokasi, atau tidak memberikan izin lokasi aplikasi, aplikasi tidak akan menerima hasil pemindaian BLE apa pun.
Mulai Android 12, izin BLUETOOTH_SCAN
, BLUETOOTH_ADVERTISE
, dan BLUETOOTH_CONNECT
dapat memungkinkan aplikasi memindai perangkat di sekitar tanpa perlu meminta izin lokasi. Untuk informasi selengkapnya, lihat Izin Bluetooth baru di Android 12 .
Pengguna dapat menonaktifkan pemindaian latar belakang Bluetooth tingkat sistem dengan membuka Pengaturan > Keamanan & Lokasi > Lokasi > Pemindaian dan menonaktifkan tombol untuk pemindaian Bluetooth . Ini tidak mempengaruhi pemindaian BLE untuk lokasi atau perangkat lokal.
Memfilter hasil pemindaian
Android 6.0 dan yang lebih baru menyertakan pemindaian BLE dan pencocokan filter pada pengontrol Bluetooth. Perangkat dapat memfilter hasil pemindaian dan melaporkan kejadian yang ditemukan dan hilang terkait perangkat BLE ke prosesor aplikasi (AP). Pemfilteran juga berfungsi untuk pemindaian batch, yang membantu menghemat daya saat pemindaian BLE dipindahkan ke firmware. Pemindaian batch mengurangi frekuensi AP aktif karena pemindaian BLE untuk perangkat atau suar.
Fitur OnFound
/ OnLost
diimplementasikan pada pengontrol Bluetooth dan kemudian diuji untuk memastikan bahwa perangkat BLE tidak terlewatkan dalam pemindaian. Hal ini memberikan penghematan daya, dan juga dapat memberikan manfaat berikut:
- Untuk acara
OnFound
, AP utama aktif setelah ditemukannya perangkat tertentu. - Untuk kejadian
OnLost
, AP aktif ketika perangkat tertentu tidak dapat ditemukan. - Aplikasi Framework mendapatkan lebih sedikit notifikasi yang tidak diinginkan saat perangkat terdekat berada dalam jangkauan.
- Pemindaian berkelanjutan memungkinkan aplikasi framework diberi tahu saat perangkat berada di luar jangkauan.
Filter pemindaian dapat didasarkan pada penemuan iklan perangkat (acara OnFound
). Lapisan Java dapat menentukan parameter seperti penemuan pertama (atau jumlah iklan tertentu sejak penemuan pertama). Terapkan pemfilteran BLE menggunakan perintah HCI Filter Konten Paket Iklan .