Menyiapkan Bluetooth

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:

  1. Dapatkan BluetoothAdapter.

    BluetoothAdapter diperlukan untuk setiap dan semua aktivitas Bluetooth. Tujuan BluetoothAdapter mewakili adaptor Bluetooth perangkat itu sendiri ( Radio Bluetooth). Untuk mendapatkan BluetoothAdapter, Anda harus terlebih dahulu memiliki Context. Gunakan konteks ini untuk mendapatkan instance BluetoothManager layanan sistem. Menelepon BluetoothManager#getAdapter akan memberi Anda objek BluetoothAdapter. Jika getAdapter() 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
    }
    
  2. 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, panggil startActivityForResult(), yang meneruskan ACTION_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.

Tips: Mengaktifkan visibilitas secara otomatis akan mengaktifkan Bluetooth. Jika Anda berencana untuk mengaktifkan visibilitas perangkat secara konsisten sebelum menjalankan aktivitas Bluetooth, Anda dapat melewati langkah 2 di langkah sebelumnya.

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.