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