Ich möchte Bluetooth über das Programm aktivieren / deaktivieren. Ich habe den folgenden Code.
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
Dieser Code funktioniert jedoch nicht in SDK 1.5. Wie kann ich es zum Laufen bringen?
Antworten:
Android BluetoothAdapter- Dokumente sagen, dass es seit API Level 5 verfügbar ist. API Level 5 ist Android 2.0.
Sie können versuchen, einen Backport der Bluetooth-API zu verwenden (haben ihn nicht persönlich ausprobiert): http://code.google.com/p/backport-android-bluetooth/
quelle
Dieser Code hat bei mir funktioniert.
Damit dies funktioniert, müssen Sie über die folgenden Berechtigungen verfügen:
quelle
Hier ist eine etwas robustere Methode, um auch die Rückgabewerte von
enable()\disable()
Methoden zu behandeln:Fügen Sie Ihrer Manifestdatei die folgenden Berechtigungen hinzu:
Aber denken Sie an diese wichtigen Punkte:
AKTUALISIEREN:
Ok, wie implementiere ich einen Bluetooth-Listener?:
Und wie kann man den Empfänger registrieren / abmelden? (In deiner
Activity
Klasse)quelle
BLUETOOTH_ADMIN
Erlaubnis hinzufügen , funktioniert es, aber wenn nicht, müssen Sie verwendenstartActivityForResult(enableBtIntent, 0);
, um Ihr Bluetooth zu aktivierenBluetooth should never be enabled without direct user consent. If you want to turn on Bluetooth in order to create a wireless connection, you should use the ACTION_REQUEST_ENABLE Intent, which will raise a dialog that requests user permission to turn on Bluetooth. The enable() method is provided only for applications that include a user interface for changing system settings, such as a "power manager" app.
was bedeutet das? Zum Beispiel. Ich habe eine kleine App aus Ihrem Code gemacht und es hat funktioniert. Aber wenn ich in den Play Store hochladen möchte, funktioniert es nicht?Um Bluetooth zu aktivieren, können Sie eine der folgenden Funktionen verwenden:
Die zweite Funktion ist:
Der Unterschied besteht darin, dass die App den Benutzer mit der ersten Funktion auffordert, das Bluetooth einzuschalten oder zu verweigern. Mit der zweiten Funktion schaltet die App Bluetooth direkt ein.
Verwenden Sie die folgende Funktion, um Bluetooth zu deaktivieren:
HINWEIS / Die erste Funktion benötigt nur die folgende Berechtigung, um in der Datei AndroidManifest.xml definiert zu werden:
Die zweite und dritte Funktion benötigen die folgenden Berechtigungen:
quelle
Die Lösung von Prijin hat bei mir perfekt funktioniert. Es ist nur fair zu erwähnen, dass zwei zusätzliche Berechtigungen erforderlich sind:
Wenn diese hinzugefügt werden, funktioniert das Aktivieren und Deaktivieren mit dem Standard-Bluetooth-Adapter einwandfrei.
quelle
Ich habe den folgenden Code verwendet, um BT zu deaktivieren, wenn meine App gestartet wird und einwandfrei funktioniert. Ich bin mir nicht sicher, ob dies der richtige Weg ist, um dies zu implementieren, da Google empfiehlt, "bluetooth.disable ()" nicht zu verwenden. ohne explizite Benutzeraktion zum Ausschalten von Bluetooth.
Ich habe nur die unten stehende Erlaubnis verwendet.
quelle
Fügen Sie Ihrer Manifestdatei die folgenden Berechtigungen hinzu:
Aktivieren Sie Bluetooth, verwenden Sie dies
Deaktivieren Sie Bluetooth, um dies zu verwenden
quelle
Versuche dies:
Fügen Sie diese Berechtigungen im Manifest hinzu
quelle