Как написать программу для подключения к устройству Bluetooth a2dp с помощью pre 3.0 Android? - PullRequest
1 голос
/ 05 октября 2011

Моему приложению необходимо подключиться к устройству a2dp через Bluetooth, и я хочу «иметь возможность запрашивать видимые устройства Bluetooth, затем выбрать устройство a2dp и заставить его« подключаться через a2dp », чтобы звук начал воспроизводиться через подключенное устройство ", но мой телефон работает с пряниками (2.3.3).

Я прошел базовый урок по Bluetooth по номеру http://developer.android.com/guide/topics/wireless/bluetooth.html и добрался до части, которая мне нужна для подключения к устройству Bluetooth, а затем прочитал нижнюю часть страницы:

«Начиная с Android 3.0, Bluetooth API включает поддержку работы с профилями Bluetooth». -> Значит ли это, что я С.О.Л.? Есть ли какой-нибудь способ программно (почему stackoverflow помечает программно как ошибочный код ?!) подключиться к устройству a2dp, используя версию Android до версии 3.0? Является ли мой единственный способ направить пользователя, чтобы войти в его настройки / подтянуть настройки программно ?? Поскольку я могу сделать это с помощью настроек, думаю, я просто предполагал, что это будет возможно и через мое приложение.

Помощь

Ответы [ 2 ]

2 голосов
/ 16 декабря 2011

Некоторые классы Bluetooth (такие как BluetoothA2dp) скрыты в Gingerbread.Это означает, что их объявление аннотировано @hide, и они не включены в SDK (Android.jar).Это сделано намеренно, так как эти API, вероятно, будут изменены в более новых версиях Android.Обычно не рекомендуется использовать скрытые API, поскольку ваше приложение может перестать работать на более новых версиях Android, но если вы уверены, что хотите этого, следуйте инструкциям http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction/

. Получив доступ к ним, сделайте что-нибудькак (просто подсказка):

BluetoothA2dp mBluetoothA2dp = new BluetoothA2dp(context);
BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().
// Loop through paired devices
for (BluetoothDevice device : mBluetoothAdapter.getBondedDevices()) {
    if (device.getName().contains("whatyouwant")) {
        mBluetoothA2dp.addSink(device);
    }
}
0 голосов
/ 07 октября 2011

Итак, после гораздо большего исследования, кажется, что невозможно программно подключиться к устройству A2DP на устройстве Android до версии 3.0. Я собираюсь пометить это как ответ, но, если кто-то найдет иное, пожалуйста исправьте меня в этом, поскольку я действительно хотел бы сделать это программно.

...