Нам нужно, чтобы наше приложение могло автоматически подключаться к парному Bluetooth-устройству, когда приложение запускается через A2DP или Hands Free Profile.
Мы работаем в Xamarin (monodroid), для платформы Android.
Я нашел этот вопрос stackoverflow: Программно подключиться к сопряженному устройству Bluetooth
Но это относится к естественным способам достижения этого (см. ответ 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:
Кстати, когда мы пытаемся подключиться через собственное тестовое приложение Java, используя подход kcoppock, код подключения, похоже, работает без ошибки, хотя устройство не подключается как гарнитура A2DP.
Единственный способ программирования, который мы видели, чтобы сделать это, был это приложение Google Play, которое доказывает, что это возможно.