Wir benötigen unsere Anwendung, um automatisch eine Verbindung zu einem gekoppelten Bluetooth-Gerät herstellen zu können, wenn eine Anwendung über A2DP oder Hands Free Profile gestartet wird.Verbinden mit einem gekoppelten Bluetooth-Gerät von Xamarin auf Android
Wir arbeiten in Xamarin (Monodroid), für Android-Plattform.
Ich habe diese Frage Stackoverflow gefunden: Programmatically connect to paired Bluetooth device
Aber es bezieht sich auf native Wege, dies zu erreichen ist (Antwort von kcoppock sehen). Ich würde gerne wissen, ob es einen Weg gibt, dies über Xamarin zu erreichen. Wir können eine Verbindung zum SPP-Endpunkt herstellen, da es sich um eine RFCOMM-basierte Verbindung handelt, aber wir benötigen diese und die Audioverbindung. Daher suchen wir nach einer Möglichkeit, eine Verbindung mit A2DP herzustellen.
Update 1:
Wir haben versucht, wie dies mit CreateInsecureRfcommSocketToServiceRecord
Methode zu verbinden:
mmSocket = device.CreateInsecureRfcommSocketToServiceRecord(0000110A-0000-1000-8000-00805F9B34FB); mmSocket.Connect();
Nach einem Aufruf in Verbindung, wir werden einen Fehler erhalten:
read failed, socket might closed or timeout, read ret: -1
Stapel Trace begi ns mit:
Java.IO.IOException at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod) [0x00062] in /Users/buil…
Update 2:
By the way, whene wir versuchen, über den native Java-Test-App mit the approach by kcoppock, der Verbindungscode zu verbinden scheint, ohne einen Fehler zu arbeiten, obwohl Das Gerät wird nicht als A2DP-Headset angeschlossen.
Die einzige Programmierweise, die wir gesehen haben, um es zu tun war this Google Play app, was beweist, dass es möglich ist.
Einer der Gründe könnte sein, dass ein anderer Teil Ihres Programms die gleiche Datei offen hält, die die Verbindung (Extraktor) lesen sollte? – SeahawksRdaBest
An der Verbindungsstelle haben wir nur eine SPP-Verbindung über RFComm, aber unsere Hauptaufgabe ist, dass wir das Android-Gerät gleichzeitig über SSP und A2DP verbunden haben.Wenn wir eine Verbindung zu SPP über Code herstellen und manuell über Android-Einstellungen mit A2DP verbinden, funktioniert alles, was beweist, dass wir technisch gesehen zwei Profile gleichzeitig verbinden können. –
Dies könnte ein Bandbreitenproblem sein. Überprüfen Sie die Baudrate Ihres bestimmten Geräts und wie viel Sie Audio streamen. Offensichtlich wird der rfcomm-Kanal fehlschlagen, wenn Sie sich dem Limit nähern. – SeahawksRdaBest