Bluetooth einrichten

Bevor deine App über Bluetooth oder Bluetooth Low Energy kommunizieren kann, müssen Sie überprüfen, ob Bluetooth auf dem Gerät unterstützt wird. Falls ja, ob er aktiviert ist. Diese Überprüfung ist nur erforderlich, wenn der Das Attribut android:required im Eintrag der Manifestdatei <uses-feature.../> ist auf false festgelegt.

Wenn Bluetooth nicht unterstützt wird, sollten Sie Bluetooth ordnungsgemäß deaktivieren. Funktionen. Wenn Bluetooth unterstützt wird, aber deaktiviert ist, können Sie das aktivieren Bluetooth ohne die App zu verlassen.

Der erste Schritt besteht darin, Bluetooth-Berechtigungen hinzufügen in Ihre Manifestdatei ein, um die folgenden APIs zu verwenden.

Sobald die Berechtigungen erteilt wurden, wird die Bluetooth-Einrichtung in zwei Schritten abgeschlossen. mit BluetoothAdapter:

  1. Holen Sie sich BluetoothAdapter.

    Das Gerät (BluetoothAdapter) wird für sämtliche Bluetooth-Aktivitäten benötigt. Die BluetoothAdapter steht für den Bluetooth-Adapter des Geräts (der Bluetooth-Funkverbindung). Um ein BluetoothAdapter zu erhalten, brauchen Sie zuerst ein Context Verwenden Sie diesen Kontext, um eine Instanz des BluetoothManager Systemdiensts. BluetoothManager#getAdapter wird angerufen erhalten Sie ein BluetoothAdapter-Objekt. Wenn getAdapter() null zurückgibt, unterstützt das Gerät Bluetooth nicht.

    Beispiel:

    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. Aktiviere Bluetooth.

    Als Nächstes müssen Sie Bluetooth aktivieren. Anruf isEnabled() bis Prüfen Sie, ob Bluetooth aktiviert ist. Wenn diese Methode "false" zurückgibt, ist Bluetooth deaktiviert. Um die Aktivierung von Bluetooth anzufordern, rufen Sie startActivityForResult(), Übergabe an ACTION_REQUEST_ENABLE Intent-Aktion. Bei diesem Anruf wird eine Anfrage zur Aktivierung von Bluetooth über die Systemeinstellungen festlegen (ohne die App zu beenden).

    Beispiel:

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

Ein Dialogfeld wird angezeigt, in dem Sie um die Berechtigung zum Aktivieren von Bluetooth gebeten werden, wie in Abbildung 1. Erteilt der Nutzer die Berechtigung, aktiviert das System Bluetooth. Der Fokus kehrt zu Ihrer App zurück, sobald der Prozess abgeschlossen (oder fehlgeschlagen) ist.


Abbildung 1: Dialogfeld zum Aktivieren von Bluetooth

Die an REQUEST_ENABLE_BT übergebene Konstante startActivityForResult() ist eine lokal definierte Ganzzahl, die größer oder gleich 0 sein muss. Das System gibt diese Konstante onActivityResult() -Implementierung als requestCode-Parameter festlegen.

Wenn die Aktivierung von Bluetooth erfolgreich war, empfängt deine Aktivität RESULT_OK Ergebniscode in der onActivityResult()-Rückruf. Wenn Bluetooth aufgrund eines Fehlers (oder wenn der Nutzer mit „Ablehnen“ geantwortet hat, lautet der Ergebniscode: RESULT_CANCELED

Optional kann Ihre App auch auf das Ereignis ACTION_STATE_CHANGED Broadcast-Intent, den das System immer dann sendet, wenn der Bluetooth-Status Änderungen. Diese Übertragung enthält die zusätzlichen Felder EXTRA_STATE und EXTRA_PREVIOUS_STATE, mit dem neuen bzw. alten Bluetooth-Status. Mögliche Werte für sind diese zusätzlichen Felder STATE_TURNING_ON, STATE_ON, STATE_TURNING_OFF, und STATE_OFF. Es kann nützlich sein, auf diese Übertragung zu warten, wenn deine App Laufzeiten erkennen muss Änderungen am Bluetooth-Status.

Tipp:Wenn Sie die Sichtbarkeit aktivieren, Bluetooth Wenn Sie vorhaben, die Gerätesichtbarkeit kontinuierlich zu aktivieren, wenn Sie eine Bluetooth-Aktivität ausführen, können Sie Schritt 2 in den vorherigen Schritten überspringen.

Sobald Bluetooth auf dem Gerät aktiviert ist, können Sie sowohl Bluetooth Classic als auch Bluetooth Low Energy

Bei der klassischen Bluetooth-Version können Sie Bluetooth-Geräte suchen und Sie können eine Verbindung zu Bluetooth-Geräten herstellen.

Für Bluetooth Low Energy können Sie BLE-Geräte suchen, eine Verbindung zu einem GATT-Server herstellen und BLE-Daten übertragen.