Bluetooth Hemat Energi

Bluetooth Low Energy (BLE), tersedia di Android 4.3 dan yang lebih baru, membuat 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 sangat 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 Android Bluetooth HCI Requirement .

Mode perangkat

Saat menggunakan BLE, perangkat 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 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 sebelumnya hanya dapat menggunakan BLE dalam mode pusat. Chipset perangkat yang lebih 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 pengembang aplikasi membuat filter untuk menemukan perangkat dengan sedikit keterlibatan 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:

  1. Buka Pengaturan > Keamanan & Lokasi > Lokasi .
  2. Pastikan sakelar Lokasi On / Off berada pada posisi On .
  3. Pergi ke Modus .
  4. Pilih mode Akurasi tinggi atau Hemat baterai .

Di Android 11 atau lebih rendah, masing-masing aplikasi memerlukan izin lokasi untuk menggunakan pemindaian BLE, meskipun mereka memindai hanya untuk menemukan perangkat yang akan dihubungkan. Jika pengguna menonaktifkan pemindaian lokasi, atau tidak memberikan izin lokasi aplikasi, maka aplikasi tidak akan menerima hasil pemindaian BLE.

Dari 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 > Memindai dan menonaktifkan sakelar 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 peristiwa yang ditemukan dan hilang terkait perangkat BLE ke prosesor aplikasi (AP). Pemfilteran juga berfungsi untuk pemindaian batch, yang membantu menghemat daya karena pemindaian BLE diturunkan ke firmware. Pemindaian batch mengurangi seberapa sering AP bangun karena pemindaian BLE untuk perangkat atau suar.

Fitur OnFound / OnLost diimplementasikan di pengontrol Bluetooth dan kemudian diuji untuk mengonfirmasi bahwa perangkat BLE tidak terlewatkan dalam pemindaian. Ini memberikan penghematan daya, dan juga dapat memberikan manfaat berikut:

  • Untuk acara OnFound , AP utama bangun setelah ditemukannya perangkat tertentu.
  • Untuk acara OnLost , AP bangun ketika 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 kerangka kerja 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 sejumlah iklan tertentu sejak penemuan pertama). Terapkan pemfilteran BLE menggunakan perintah Advertising Packet Content Filter HCI .