2010-05-10 3 views
0

Я пытаюсь написать простое приложение для Android, чтобы переключить соединение с Bluetooth-клиентом. Я хотел бы, чтобы одно приложение могло работать на всех версиях Android 1.5+.Как переключать Bluetooth во всех версиях Android 1.5+ и выше

Я знаю, что Android 2+ API официально добавил поддержку bluetooth, однако, если я настроен на уровень SDK 3 (android 1.5), то я не получаю доступ к официальным классам BluetoothAdapter.

Я видел несколько примеров в Интернете, которые используют отражение, и это будет работать на 1.5 и 1.6, но не на 2.0.

Я также видел следующие неуправляемые API-интерфейсы Bluetooth, однако ни один из их примерных приложений (доступных на рынке как «Bluetooth-образцы» и «backport-android-bluetooth») не работает на моем Nexus One.

http://code.google.com/p/android-bluetooth/ http://code.google.com/p/backport-android-bluetooth/

Кто-нибудь есть пример кода, который будет работать на всех версиях Android?

Я знаю, что можно добиться переключения bluetooth в одном приложении и для версий 1.5+, потому что на рынке есть много приложений, которые я тестировал и могу добиться этого.

Любая помощь действительно ценится и благодарит за чтение.

ПРИМЕЧАНИЕ. Пожалуйста, не просто предлагайте писать отдельные приложения, предназначенные для разных версий, этого я не хочу достичь.

+2

вам не нужно использовать разные приложения, вы можете прочитать версию api из кода и адаптировать свой код;) – RoflcoptrException

+0

Спасибо за ваш ответ, я знаю, что могу определить версию API во время выполнения и запустить код версии на устройство. К сожалению, у меня нет кода, который может включать/отключать bluetooth на устройстве версии 2+, используя собственный API, предназначенный для уровня API 3. Пожалуйста, поделитесь, если вы знаете, как этого достичь. –

+0

Что мешает вам проверить версию API во время выполнения, а затем определить, какой метод использовать? Если у вас уже есть код, который работает с более старыми версиями, а официальные API, которые делают то, что вы хотите, представлены для более новых версий, то в чем проблема? Просто установите минимальную версию SDK на 3, но настройте уровень, когда были выпущены новые классы Bluetooth. Прежде чем пытаться использовать класс выше, чем api-3, проверьте версию системы. –

ответ

0

Я считаю, что вы ищете это http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html. Адаптер Bluetooth был рядом с Eclair. Однако, нет никакого способа сделать это раньше, если умысел на соответствующую страницу настроек не открывается (как в следующем примере):

Intent settingsIntent = new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS); 
startActivity(settingsIntent); 

Я бы рекомендовал использовать намерение на странице Настройки Blueetooth как это проще реализовать и определить, доступна ли Bluetooth на устройстве.

Надеюсь, это помогло.

Смежные вопросы