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
:
Holen Sie sich
BluetoothAdapter
.Das Gerät (
BluetoothAdapter
) wird für sämtliche Bluetooth-Aktivitäten benötigt. DieBluetoothAdapter
steht für den Bluetooth-Adapter des Geräts (der Bluetooth-Funkverbindung). Um einBluetoothAdapter
zu erhalten, brauchen Sie zuerst einContext
Verwenden Sie diesen Kontext, um eine Instanz desBluetoothManager
Systemdiensts.BluetoothManager#getAdapter
wird angerufen erhalten Sie einBluetoothAdapter
-Objekt. WenngetAdapter()
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 }
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 SiestartActivityForResult()
, Übergabe anACTION_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.
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.