Bluetooth Low Energy

Bluetooth Hemat Energi (BLE), yang tersedia di Android 4.3 dan yang lebih tinggi, 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. BLE 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 berteknologi Android berinteraksi dengan perangkat BLE, perangkat yang mengirimkan 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 Bluetooth Android.

Mode perangkat

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

Pemindaian BLE

Perangkat yang didukung 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 Aktif/Nonaktif Lokasi berada pada posisi Aktif.
  3. Buka Mode.
  4. Pilih mode Akurasi tinggi atau Hemat baterai.

Di Android 11 dan yang lebih rendah, aplikasi individual memerlukan izin akses lokasi untuk menggunakan pemindaian BLE, meskipun jika aplikasi tersebut hanya memindai untuk menemukan perangkat yang akan disambungkan. Jika pengguna menonaktifkan pemindaian lokasi, atau tidak memberikan izin akses lokasi aplikasi, maka aplikasi tidak akan menerima hasil pemindaian BLE.

Di Android 12 dan yang lebih tinggi, izin BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, dan BLUETOOTH_CONNECT dapat mengizinkan aplikasi memindai perangkat di sekitar tanpa perlu meminta izin lokasi. Untuk mengetahui informasi selengkapnya, lihat Izin Bluetooth.

Pengguna dapat menonaktifkan pemindaian latar belakang Bluetooth tingkat sistem dengan membuka Setelan > Keamanan & Lokasi > Lokasi > Pemindaian dan mengklik tombol Pemindaian Bluetooth ke posisi nonaktif. Hal ini tidak memengaruhi pemindaian BLE untuk lokasi atau perangkat lokal.

Memfilter hasil pemindaian

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

Fitur OnFound/OnLost diimplementasikan 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 saat 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 sejumlah iklan sejak penemuan pertama). Terapkan pemfilteran BLE menggunakan perintah HCI Advertising Packet Content Filter.