Verbindung zu Bluetooth-programmgesteuert
Ich versuche, eine Verbindung programmgesteuert mein Gerät, um zum Beispiel auf meinem Kopfhörer... ich hatte KitKat
version und alles funktioniert perfekt (Bluetooth
immer war die Verbindung ohne Probleme autommatically) aber da hab ich auch aktualisiert, um Lolipop
es nicht. Ich würde gerne wissen, ob es irgendeinen Weg gibt, zu schließen Sie alle gekoppelten Gerät meiner Android phone
zu Bluetooth
wenn es eingeschaltet wird.
Da jetzt habe ich diesen code (bekommt die Geräte-Namen und Geräte-Adresse), weil ich dachte, ich könnte die Verbindung etwas wie device.connect(MAC-Address);
aber es hat nicht funktioniert...
BluetoothAdapter bluetoothAdapter
= BluetoothAdapter.getDefaultAdapter();
Set < BluetoothDevice > pairedDevices = bluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device: pairedDevices) {
mDeviceName.add(device.getName());
mDeviceMAC.add(device.getAddress());
}
}
bluetoothClass.setDeviceName(mDeviceName);
bluetoothClass.setDeviceMac(mDeviceMAC);
Frage
Auf meinem MotoG (KitKat) wenn ich wieder meine Bluetooth
es verbindet autommatically auf das Gerät (wenn es in der Nähe und gepaart ofc...), aber auf meinem LG G3 muss ich gehen Sie zu Konfiguration/Bluetooth/Gekoppelte Geräte/und dort Tippen Sie auf das Gerät zu schließen... und das möchte ich vermeiden... sollte das möglich sein?
Ich würde gerne wissen, ob es irgendeine Möglichkeit der Verbindung mit bestimmten Bluetooth-nur das hinzufügen der Device name
oder Device MAC
... Mehr oder weniger wie Android
tut, wenn ich Sie auf mein Gerät zu verbinden, es verbindet autommatically... ich will einfach nur, um das CLICK-Ereignis.
Ich weiß, dass Android
verbinden sollte autommatically zu einem gekoppelten Gerät, aber es gibt Ausnahmen, gar nicht ... der einzige Weg, um das Pairing zu tun das auf... das ist der Grund, warum ich Frage mich, ob es da einen Weg, es zu tun...
Ich habe gelesen und getestet kcoppock Antwort aber es immer noch nicht funktioniert ..
Jede Anregung?
BEARBEITEN
Das wichtigste, was ich tun wollte, ist eine Verbindung zu meinem Bluetooth
autommatically da ich aber gelesen habe Hey du Antwort... habe ich es herausgefunden und ich weiß, es ist ein Android
bug, so dass die Sache, die ich tun möchte, ist wählen Sie die paired devices
und klicken Sie dann auf das Gerät, das ich anschließen möchte (Ohne jegliche Intent
) und schließen Sie es, anstatt zu gehen Configuration/Bluetooth/...
.
Btw ich gelesen habe, keine Antworten auf StackOverflow
und ich habe etwas gefunden mit Sockets
werden Sie verwendet, um die Verbindung Bluetooth
?Könnte es eine Lösung?
InformationsquelleAutor der Frage Skizo-ozᴉʞS | 2015-08-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeiten zu beantworten, die Letzte Frage
Können Sie vermeiden, mit der Absicht, nach gekoppelten Geräten suchen. Wenn eine Verbindung zu einem Gerät, das nicht gekoppelt ist, wird eine Benachrichtigung pop-up-Fragen, um die Geräte koppeln. Nach dem Pairing sollte diese Meldung nicht wieder anzeigen für diese Geräte ist, sollte die Verbindung automatisch (je nachdem wie Sie geschrieben haben, Ihr Programm).
Verwende ich eine Absicht, um bluetooth zu aktivieren, und damit mein Gerät sichtbar gemacht haben, ich dann meine code eine Verbindung herstellen, und drücken Sie eine Taste, um zu verbinden. In Ihrem Fall, Sie benötigen, um sicherzustellen, dass Ihre Accessoires sind sichtbar auch. In meinem Fall nutze ich eine eindeutige UUID, und beide Geräte müssen erkennen, diese zu verbinden. Dies kann nur verwendet werden, wenn Sie die Programmierung beider Geräte, ob beides android oder ein android-und ein anderes Gerät geben.
Versuchen, diese und sehen, wenn es Ihr problem löst.
Ist diese Antwort auf die ursprüngliche Frage, bevor es bearbeitet wurde, um eine andere Frage sein.
Habe ich bearbeitet meine Antwort für Klarheit, wie ich sehen kann aus den Kommentaren ist es irreführend. Ihre Frage hat zwei Teile.
Dies ist weniger ein Programmier-Problem und mehr eine Plattform Problem.
Es ist ein gut dokumentierten bug in Android 5.0 mit Bluetooth nicht automatisch eine Verbindung herstellt, und viele andere BT-Probleme. Diese Themen weiterhin mit allen updates auf 5.0. Versionen und ist nicht fixiert, bis die 5.1. upgrade.
http://www.digitaltrends.com/mobile/android-lollipop-problems/11/
http://forums.androidcentral.com/lg-g3/473064-bluetooth-streaming-choppy-lg-3-lollipop.html
Erste Anlaufstelle ist ein update auf 5.1
Diese Fragen behandelt wurden, die in der Lollipop-update 5.1
http://www.reddit.com/r/Android/comments/306m3y/lollipop_51_bluetooth/
Edit:
Ich glaube nicht, dass das geht, Ihr problem zu lösen der automatischen Paarung, Sie wollte wissen, wie BTGatt.
Zu verwenden BluetoothGatt
https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html
https://developer.android.com/reference/android/bluetooth/BluetoothGattCallback.html
Hier ist ein tolles Beispiel, wie BluetoothGatt (Sie verwendet zu hören rate):
https://github.com/googlesamples/android-BluetoothLeGatt/blob/master/Application/src/main/java/com/example/android/bluetoothlegatt/BluetoothLeService.java
Habe ich reproduziert einige der code hier, falls der link stirbt.
Es folgt grundsätzlich dem Vorbild einer regulären bluetooth-Verbindung. Sie brauchen zu entdecken und zu finden, unterstützte Geräte.
Monitor Staat, etc.
Dies sind die beiden wichtigsten Merkmale des gatt.
Den Rückruf:
Broadcast:
Diese Frage hat auch einige relevante code, kann helfen, schneiden Sie es nach unten, wenn Sie lernen:
BLuetooth-Gatt-Rückruf funktioniert nicht mit der neuen API für Lollipop
Nun, hier ist der Haken. Sind Ihre Geräte, die bluetooth smart oder smart ready?
Dieser link gibt eine große Liste von smart-devices. Sie werden auch feststellen, wenn Sie bei der Umsetzung Ihrer Programm.
http://www.bluetooth.com/Pages/Bluetooth-Smart-Devices-List.aspx
InformationsquelleAutor der Antwort Yvette Colomb
Dies ist, wie ich diese Arbeit unter Verwendung der Java Reflection und BluetoothProfile:
Attribute:
Nennen:
Hörer:
Ich hoffe, dies hilft jemand versucht, eine Verbindung zu Bluetooth-Audio-Geräte und Kopfhörer.
InformationsquelleAutor der Antwort hexan