Bluetooth Low Energy

Bluetooth Hemat Energi (BLE), yang tersedia di Android 4.3 dan yang lebih baru, membuat koneksi singkat antarperangkat untuk mentransfer burst data. BLE tetap dalam mode tidur saat tidak terhubung. Hal ini memungkinkan BLE memberikan bandwidth yang lebih rendah dan mengurangi konsumsi daya dibandingkan dengan Bluetooth Klasik. Fitur ini ideal untuk aplikasi seperti monitor detak jantung atau keyboard nirkabel. Untuk menggunakan BLE, perangkat harus memiliki chipset yang mendukung BLE.

Implementasi

Semua profil aplikasi BLE saat ini didasarkan pada Profil Atribut Generik (GATT). Saat perangkat Android berinteraksi dengan perangkat BLE, perangkat yang mengirim informasi adalah server dan perangkat yang menerima informasi adalah klien. Android menyertakan API developer untuk BLE, termasuk API untuk interaksi antara server GATT dan klien GATT. Untuk memanfaatkan BLE API sepenuhnya, terapkan Persyaratan HCI Android Bluetooth.

Mode perangkat

Saat menggunakan BLE, perangkat Android dapat berfungsi sebagai perangkat periferal, perangkat pusat, atau keduanya. Mode periferal memungkinkan perangkat mengirim paket iklan. Mode terpusat memungkinkan perangkat memindai iklan. Perangkat Android yang bertindak sebagai perangkat periferal dan pusat dapat berkomunikasi dengan perangkat periferal BLE lainnya saat mengirim iklan dalam mode periferal. Perangkat yang mendukung Bluetooth 4.1 dan yang lebih lama hanya dapat menggunakan BLE dalam mode terpusat. Chipset perangkat lama mungkin tidak mendukung mode periferal BLE.

Pemindaian BLE

Perangkat Android dapat menargetkan dan memindai perangkat Bluetooth tertentu secara lebih efisien saat menggunakan BLE. BLE API memungkinkan developer aplikasi membuat filter untuk menemukan perangkat dengan lebih sedikit keterlibatan dari pengontrol host.

Pemindaian lokasi

Layanan lokasi perangkat dapat menggunakan Bluetooth untuk mendeteksi beacon Bluetooth dan memberikan lokasi yang lebih akurat. Berikut cara pengguna mengaktifkan fitur ini:

  1. Buka Setelan > Keamanan & Lokasi > Lokasi.
  2. Pastikan tombol Lokasi Aktif/Nonaktif berada di posisi Aktif.
  3. Buka Mode.
  4. Pilih mode Akurasi tinggi atau Hemat baterai.

Di Android 11 atau yang lebih rendah, setiap aplikasi memerlukan izin akses lokasi untuk menggunakan pemindaian BLE, meskipun aplikasi tersebut hanya memindai untuk menemukan perangkat yang akan 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 Setelan > Keamanan & Lokasi > Lokasi > Pemindaian dan menonaktifkan tombol untuk Pemindaian Bluetooth. Hal ini tidak memengaruhi pemindaian BLE untuk lokasi atau perangkat lokal.

Memfilter hasil pemindaian

Android 6.0 dan yang lebih baru menyertakan pemindaian BLE dan pencocokan filter di pengontrol Bluetooth. Perangkat dapat memfilter hasil pemindaian dan melaporkan peristiwa found dan lost yang terkait dengan perangkat BLE ke prosesor aplikasi (AP). Pemfilteran juga berfungsi untuk pemindaian batch, yang membantu menghemat daya karena pemindaian BLE di-offload ke firmware. Pemindaian batch mengurangi frekuensi AP aktif karena pemindaian BLE untuk perangkat atau beacon.

Fitur OnFound/OnLost diterapkan di pengontrol Bluetooth, lalu diuji untuk mengonfirmasi bahwa perangkat BLE tidak terlewat dalam pemindaian. Hal ini menghemat daya, dan juga dapat memberikan manfaat berikut:

  • Untuk peristiwa OnFound, AP utama akan aktif setelah penemuan perangkat tertentu.
  • Untuk peristiwa OnLost, AP akan aktif saat perangkat tertentu tidak dapat ditemukan.
  • Aplikasi framework mendapatkan lebih sedikit notifikasi yang tidak diinginkan saat perangkat di sekitar berada dalam jangkauan.
  • Pemindaian berkelanjutan memungkinkan aplikasi framework diberi tahu saat perangkat berada di luar jangkauan.

Filter pemindaian dapat didasarkan pada penemuan iklan perangkat (peristiwa 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.