Sebelum aplikasi dapat berkomunikasi melalui Bluetooth atau Bluetooth Hemat Energi,
Anda perlu memverifikasi bahwa Bluetooth didukung di perangkat, dan jika didukung,
pastikan Bluetooth telah diaktifkan. Perhatikan bahwa pemeriksaan ini hanya diperlukan jika
atribut android:required
dalam entri file manifes <uses-feature.../>
ditetapkan ke false
.
Jika Bluetooth tidak didukung, Anda harus menonaktifkan semua fitur Bluetooth dengan baik. Jika Bluetooth didukung, tetapi dinonaktifkan, Anda dapat meminta pengguna mengaktifkan Bluetooth tanpa keluar dari aplikasi.
Langkah pertama adalah menambahkan izin Bluetooth ke file manifes untuk menggunakan API berikut.
Setelah izin diterapkan, penyiapan Bluetooth dilakukan dalam dua langkah
menggunakan BluetoothAdapter
:
Dapatkan
BluetoothAdapter
.BluetoothAdapter
diperlukan untuk setiap dan semua aktivitas Bluetooth.BluetoothAdapter
mewakili adaptor Bluetooth perangkat itu sendiri (radio Bluetooth). Untuk mendapatkanBluetoothAdapter
, Anda harus memilikiContext
terlebih dahulu. Gunakan konteks ini untuk mendapatkan instance layanan sistemBluetoothManager
. MemanggilBluetoothManager#getAdapter
akan memberi Anda objekBluetoothAdapter
. JikagetAdapter()
menampilkan null, berarti perangkat tidak mendukung Bluetooth.Contoh:
Kotlin
val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java) val bluetoothAdapter: BluetoothAdapter? = bluetoothManager.getAdapter() if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
Java
BluetoothManager bluetoothManager = getSystemService(BluetoothManager.class); BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); if (bluetoothAdapter == null) { // Device doesn't support Bluetooth }
Aktifkan Bluetooth.
Berikutnya, Anda harus memastikan bahwa Bluetooth diaktifkan. Panggil
isEnabled()
untuk memeriksa apakah Bluetooth saat ini diaktifkan. Jika metode ini menampilkan false, maka Bluetooth akan dinonaktifkan. Untuk meminta agar Bluetooth diaktifkan, panggilstartActivityForResult()
, dengan meneruskan tindakan intentACTION_REQUEST_ENABLE
. Panggilan ini akan mengeluarkan permintaan untuk mengaktifkan Bluetooth melalui setelan sistem (tanpa menghentikan aplikasi).Contoh:
Kotlin
if (bluetoothAdapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT) }
Java
if (!bluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); }
Akan muncul dialog yang meminta izin pengguna untuk mengaktifkan Bluetooth, seperti yang ditunjukkan pada gambar 1. Jika pengguna memberikan izin, sistem akan mulai mengaktifkan Bluetooth, dan fokus akan kembali ke aplikasi Anda setelah proses selesai (atau gagal).
Gambar 1. Dialog Bluetooth yang diaktifkan.
Konstanta REQUEST_ENABLE_BT
yang diteruskan ke
startActivityForResult()
adalah bilangan bulat yang ditentukan secara lokal yang harus lebih besar dari atau sama dengan 0. Sistem
meneruskan konstanta ini kepada Anda dalam implementasi
onActivityResult()
sebagai parameter requestCode
.
Jika berhasil mengaktifkan Bluetooth, aktivitas Anda akan menerima
kode hasil RESULT_OK
dalam
callback onActivityResult()
. Jika Bluetooth tidak diaktifkan karena error (atau
pengguna merespons "Tolak"), kode hasilnya adalah
RESULT_CANCELED
.
Secara opsional, aplikasi Anda juga dapat memproses
intent siaran ACTION_STATE_CHANGED
yang disiarkan sistem setiap kali status Bluetooth
berubah. Siaran ini berisi kolom tambahan
EXTRA_STATE
dan
EXTRA_PREVIOUS_STATE
,
yang masing-masing berisi status Bluetooth baru dan lama. Nilai yang memungkinkan untuk
kolom tambahan ini adalah
STATE_TURNING_ON
,
STATE_ON
,
STATE_TURNING_OFF
,
dan STATE_OFF
.
Memproses siaran ini dapat berguna jika aplikasi Anda perlu mendeteksi perubahan
runtime yang dilakukan pada status Bluetooth.
Setelah Bluetooth diaktifkan di perangkat, Anda dapat menggunakan Bluetooth klasik dan Bluetooth Hemat Energi.
Untuk Bluetooth klasik, Anda dapat menemukan perangkat Bluetooth dan menghubungkan ke perangkat Bluetooth.
Untuk Bluetooth Hemat Energi, Anda dapat menemukan perangkat BLE, terhubung ke server GATT, dan mentransfer data BLE.