我们需要我们的应用程序能够在应用程序通过A2DP或免提配置文件启动时自动连接到配对的蓝牙设备。
我们正在使用Xamarin (monodroid),用于Android平台。
我发现了这个堆栈溢出问题:Programmatically connect to paired Bluetooth device
但它与实现这一点的本地方法有关(请参阅由kcoppock提供的答案)。我想知道有没有办法通过Xamarin来实现这一点。我们可以连接到SPP端点,因为它是基于RFCOMM的连接,但我们需要它和音频连接,所以我们正在寻找一种连接到A2DP的方法。
更新1:
我们尝试使用CreateInsecureRfcommSocketToServiceRecord
方法进行连接,如下所示:
mmSocket = device.CreateInsecureRfcommSocketToServiceRecord(0000110A-0000-1000-8000-00805F9B34FB); mmSocket.Connect();
在调用Connect时,我们收到一个错误:
read failed, socket might closed or timeout, read ret: -1
堆栈跟踪以以下内容开头:
Java.IO.IOException at Android.Runtime.JNIEnv.CallVoidMethod (IntPtr jobject, IntPtr jmethod) [0x00062] in /Users/buil…
更新2:
顺便说一下,当我们尝试使用the approach by kcoppock通过原生的java测试应用进行连接时,连接代码似乎可以正常工作,尽管该设备并未作为A2DP耳机进行连接。
我们所见过的唯一能够做到这一点的编程方法是,这证明了这是可能的。
https://stackoverflow.com/questions/21761271
复制相似问题