Frage

Zwei Fragen zur Bluetooth -Entwicklung auf Android:

  1. Gibt es eine Möglichkeit, Bluetooth immer in Android zu sein (ich habe möglicherweise eine lange Geräteerkennungsphase in meiner Anwendung)? Soweit ich sehen kann, ist der Standardwert eine Anzahl von 120ern.

  2. Gibt es eine Open -Source -Bluetooth -API -Implementierung?

War es hilfreich?

Lösung

Die Bluetooth -Implementierung ist jetzt in der Android 2.0 -API verfügbar. Sehen Dies und Dies.

Andere Tipps

Das Ermöglichen von Bluetooth, immer zu sein, ist möglicherweise keine gute Entscheidung, wenn Ihre einzige Sorge eine lange Entdeckungsverzögerung ist ("Batterielebensdauer" -Ist).

Was Bluetooth-APIs von Drittanbietern betrifft, ist das einzige, was ich gehört habe Ianywhere Blue SDK (Von Sybase, nicht kostenlos, nur Evaluierungsversion verfügbar), die einige der Funktionen abdeckt, die in Zukunft von der unterstützt werden System/Bluetooth und Bluez Pakete.

Nach Angaben des Androids Bluetooth Roadmap, Die meisten lang warteten Dinge wie Java -API, Bluetooth 2.1 + EDR, wird in Zukunft zu einem Zeitpunkt implementiert.

Viel Glück mit Ihrem Projekt.

Am 2.3.6 kann ich das Gerät immer sichtbar halten, indem ich die Verzögerung 0 einsetze:

Intent di = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
di.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);

Das Bluez Stack on Linux ist eine Open -Source -Implementierung. Es ist auch unter Windows verfügbar, aber die API ist unter Linux viel vollständiger.

Wenn Sie sagen: "Bluetooth aktivieren, immer weiter zu sein", meinen Sie immer, versuchen Sie immer, andere Geräte zu entdecken?

Die meisten Bluetooth -Chips verfügen über einen tiefen Schlafmodus, in dem der Chip größtenteils unten ist und nur eine A -tiefen Aktivität auf etablierten Links erstellt. Es wird nur mit voller Leistung aufwachen, wenn Sie möchten, dass es etwas macht (Entdeckung, eine Verbindung herstellen), oder es gibt Aktivitäten auf einem vorhandenen Link.

Ja, es verwendet mehr Akkustrom, als wenn der Bluetooth völlig ausgeschaltet wäre, aber es ist kein totaler Vampir.

 private void ensureDiscoverable() {
    if(D) Log.d(TAG, "ensure discoverable");
    if (mBluetoothAdapter.getScanMode() !=
        BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
        Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
        discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
        startActivity(discoverableIntent);
    }

http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#ACTION_REQUEST_DISCOVERABLE

BlueCove is an open-source bluetooth implementation for Java.

It works on a lot of different machines and if correct there is a Android compatible version lurking around somewhere.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top