Sebelum aplikasi Anda dapat berkomunikasi melalui Bluetooth atau Bluetooth Hemat Energi,
Anda perlu memverifikasi bahwa {i>Bluetooth<i}
didukung di perangkat tersebut, dan jika ya,
memastikannya sudah diaktifkan. Perhatikan, pemeriksaan ini hanya diperlukan jika
Atribut android:required
dalam entri file manifes <uses-feature.../>
adalah
ditetapkan ke false
.
Jika Bluetooth tidak didukung, maka Anda harus menonaktifkan Bluetooth apa pun dengan baik baru. Jika Bluetooth didukung, tetapi dinonaktifkan, maka Anda dapat meminta agar mengaktifkan Bluetooth tanpa keluar dari aplikasi Anda.
Langkah pertamanya adalah menambahkan izin Bluetooth ke file manifes agar dapat menggunakan API berikut.
Setelah izin diterapkan, penyiapan Bluetooth dilakukan dalam dua langkah
menggunakan BluetoothAdapter
:
Dapatkan
BluetoothAdapter
.BluetoothAdapter
diperlukan untuk setiap dan semua aktivitas Bluetooth. TujuanBluetoothAdapter
mewakili adaptor Bluetooth perangkat itu sendiri ( Radio Bluetooth). Untuk mendapatkanBluetoothAdapter
, Anda harus terlebih dahulu memilikiContext
. Gunakan konteks ini untuk mendapatkan instanceBluetoothManager
layanan sistem. MeneleponBluetoothManager#getAdapter
akan memberi Anda objekBluetoothAdapter
. JikagetAdapter()
menampilkan null, maka perangkat itu 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. Telepon
isEnabled()
ke periksa apakah Bluetooth saat ini diaktifkan. Jika metode ini menampilkan nilai salah, maka Bluetooth dinonaktifkan. Untuk meminta agar Bluetooth diaktifkan, panggilstartActivityForResult()
, yang meneruskanACTION_REQUEST_ENABLE
tindakan intent. Panggilan ini mengeluarkan permintaan untuk mengaktifkan Bluetooth melalui setelan sistem (tanpa menghentikan aplikasi Anda).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); }
Sebuah dialog muncul meminta izin pengguna untuk mengaktifkan Bluetooth, seperti yang ditunjukkan di 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 aktif.
Konstanta REQUEST_ENABLE_BT
yang diteruskan ke
startActivityForResult()
adalah bilangan bulat yang ditentukan secara lokal yang harus lebih besar atau sama dengan 0. Sistem
mengembalikan konstanta ini kepada Anda dalam
onActivityResult()
implementasi sebagai parameter requestCode
.
Jika pengaktifan Bluetooth berhasil, aktivitas Anda akan menerima
Kode hasil RESULT_OK
di
Callback onActivityResult()
. Jika Bluetooth tidak diaktifkan karena error (atau
pengguna merespons "Tolak") maka kode hasilnya adalah
RESULT_CANCELED
Secara opsional, aplikasi Anda juga dapat memproses
ACTION_STATE_CHANGED
intent broadcast, yang disiarkan oleh sistem setiap kali status Bluetooth
perubahan. Siaran ini berisi kolom tambahan
EXTRA_STATE
dan
EXTRA_PREVIOUS_STATE
,
masing-masing berisi status Bluetooth baru dan lama. Nilai yang mungkin untuk
isian tambahan ini
STATE_TURNING_ON
,
STATE_ON
,
STATE_TURNING_OFF
,
dan STATE_OFF
.
Memproses siaran ini dapat berguna jika aplikasi Anda perlu mendeteksi runtime
perubahan yang dibuat 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, menghubungkan ke server GATT, dan mentransfer data BLE.