Skonfiguruj Bluetooth

Zanim aplikacja będzie mogła komunikować się przez Bluetooth lub Bluetooth Low Energy, Musisz sprawdzić, czy urządzenie jest obsługiwane przez Bluetooth. Jeśli tak, sprawdź, czy jest włączony. Pamiętaj, że ta kontrola jest konieczna tylko wtedy, gdy Atrybut android:required we wpisie pliku manifestu <uses-feature.../> to ustawiono na false.

Jeśli Bluetooth nie jest obsługiwany, wyłącz wszystkie funkcje Bluetooth funkcje zabezpieczeń. Jeśli Bluetooth jest obsługiwany, ale wyłączony, możesz poprosić włączenie Bluetootha bez opuszczania aplikacji.

Pierwszy krok to dodanie uprawnień dotyczących Bluetootha do pliku manifestu, aby korzystać z poniższych interfejsów API.

Po uzyskaniu uprawnień konfiguracja Bluetooth odbywa się w dwóch krokach za pomocą funkcji BluetoothAdapter:

  1. Pobierz BluetoothAdapter.

    Urządzenie BluetoothAdapter jest wymagane do każdej aktywności związanej z Bluetoothem. BluetoothAdapter reprezentuje adapter Bluetooth urządzenia ( Bluetooth). Aby uzyskać BluetoothAdapter, musisz najpierw mieć Context Wykorzystaj ten kontekst, aby uzyskać wystąpienie BluetoothManager usłudze systemowej. Dzwonię pod numer BluetoothManager#getAdapter otrzymasz obiekt BluetoothAdapter. Jeśli getAdapter() zwraca wartość null, to urządzenie nie obsługuje Bluetootha.

    Na przykład:

    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. Włącz Bluetooth.

    Następnie musisz się upewnić, że Bluetooth jest włączony. Zadzwoń do nas isEnabled() do Sprawdź, czy Bluetooth jest włączony. Jeśli ta metoda zwraca wartość fałsz, to Bluetooth jest wyłączony. Aby poprosić o włączenie Bluetooth, zadzwoń pod startActivityForResult() zaliczanie ACTION_REQUEST_ENABLE działanie intencji. W ramach tego połączenia pojawia się prośba o włączenie Bluetootha ustawieniach systemu (bez zatrzymywania aplikacji).

    Na przykład:

    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);
    }
    

Pojawi się okno z prośbą o zgodę na włączenie Bluetooth, tak jak w rysunek 1. Jeśli użytkownik wyrazi zgodę, system zacznie włączać Bluetooth. a po zakończeniu tego procesu (lub jego niepowodzenia) wraca do aplikacji.


() Rysunek 1. Okno włączania Bluetootha.

Stała REQUEST_ENABLE_BT przekazana do startActivityForResult(). to lokalnie zdefiniowana liczba całkowita, która musi być większa niż lub równa 0. System przekazuje Ci tę stałą onActivityResult() jako parametr requestCode.

Jeśli Bluetooth zostanie włączony, Twoja aktywność będzie otrzymywać RESULT_OK kodu wyniku w sekcji onActivityResult() oddzwonienie. Jeśli Bluetooth nie został włączony z powodu błędu (lub użytkownik odpowiedział „Odrzucaj”), kod wyniku RESULT_CANCELED

Opcjonalnie aplikacja może też nasłuchiwać ACTION_STATE_CHANGED intencję rozgłoszeniową, która jest wysyłana przez system za każdym razem, gdy stan połączenia Bluetooth zmian. Ta wiadomość zawiera dodatkowe pola EXTRA_STATE i EXTRA_PREVIOUS_STATE, który zawiera odpowiednio nowy i stary stan Bluetootha. Możliwe wartości: te dodatkowe pola są STATE_TURNING_ON STATE_ON, STATE_TURNING_OFF, oraz STATE_OFF. Nasłuchiwanie tej transmisji może być przydatne, jeśli aplikacja musi wykrywać czas działania zmian stanu Bluetootha.

Wskazówka: włączenie wykrywalności powoduje automatyczne włączenie Bluetooth. Jeśli planujesz konsekwentnie włączać wykrywanie urządzeń przed podczas wykonywania aktywności Bluetooth, możesz pominąć krok 2 wcześniejszych kroków.

Po włączeniu Bluetootha na urządzeniu możesz używać zarówno klasycznego, Bluetooth Low Energy.

W przypadku klasycznego Bluetootha możesz znaleźć urządzenia Bluetooth. oraz połączenia z urządzeniami Bluetooth.

W przypadku Bluetooth Low Energy możesz znaleźć urządzenia BLE, połączyć się z serwerem GATT oraz przenieść dane BLE.