Чипсеты / устройства с поддержкой периферийного режима Android 5 BLE

** Обзор известных на данный момент устройств: Nexus 6, Nexus 9, Moto E 4G LTE, LG G4, Galaxy S6, Samsung Galaxy S5 (модель SM-G900M), Nexus 5X, Sony Xperia Z5 Compact, Samsung Galaxy Tab S2 **

** Также см. https://altbeacon.github.io/android-beacon-library/beacon-transmitter-devices.html **

Одной из новых функций выпуска Android 5 является поддержка периферийного режима Bluetooth Low Energy. Несмотря на то, что он работает независимо от используемого устройства, он, похоже, зависит от набора микросхем (см. Функцию isMultiAdvertisingSupported() в BluetoothAdapter.java).

Он работает для Nexus 5, но не для Nexus 7 (называемый ошибкой в примере поддержки BLE периферийных устройств Android-L, но он может никогда не работать из-за своего чипсета?). Также https://code.google.com/p/android-developer-preview/issues/detail?id=589 не дает убедительных заявлений.

Меня беспокоит то, что, поскольку ожидается, что многие старые устройства получат Android 5, только самые новые планшеты (и относительно новые телефоны) будут поддерживать периферийный режим BLE. Это может быть неясно конечному пользователю приложений, использующих эту новую функцию Android 5.

Для меня очень неясно, какие чипсеты / устройства, которые в конечном итоге получат Android 5, будут поддерживать периферийный режим BLE. Кто-нибудь, кто может дать мне какие-либо идеи по этому поводу? Какие чипсеты будут поддерживать периферийный режим BLE? Более конкретно, поскольку у многих наших клиентов есть Nexus 7 (2013), будет ли когда-либо поддерживаться Nexus 7?

Изменить 19-2-2015: С декабря 2014 года он больше не поддерживается для Nexus 5, только Nexus 6 и 9, похоже, поддерживают BLE Peripheral Mode/ Advertising. Надеюсь, что количество устройств, поддерживающих это, значительно увеличится в ближайшем будущем.

Дополнительная информация и обсуждение здесь: https://code.google.com/p/android-developer-preview/issues/detail?id=1570

Изменить 6-3-2015: добавлен обзор для быстрого ознакомления

Редактировать 17-2-2016: Добавлены некоторые устройства, которые я сам проверил, но не был ни в одном другом списке

1 ответ

Решение

Android 5.0.X позволит вам использовать новый API только для BLE. Этот новый API поставляется с новой функцией, о которой вы упомянули в своем вопросе: возможность рекламы с вашего собственного устройства Android, используя его в периферийном режиме. Однако недостатком этой новой функции является то, что она зависит от оборудования. Например, перед тем, как запустить BLE, вам необходимо:

Во-первых: проверьте, поддерживается ли BLE, что можно сделать, добавив следующую строку в манифест: <uses-feature android:name="android.hardware.bluetooth_le" android:required:"true"/>

Второе: вам нужно проверить, поддерживает ли ваш чипсет это, используя следующие методы:

bluetoothAdapter.isMultipleAdvertisementSupported();
bluetoothAdapter.isOffloadedFilteringSupported();
bluetoothAdapter.isOffloadedScanBatchingSupported();

Также обратите внимание, что для обоих вышеупомянутых методов в документации API четко указано, что:

"Верните true, если мультиреклама поддерживается чипсетом"

"истина, если чипсет поддерживает фильтрацию на кристалле"

"истина, если чипсет поддерживает пакетное сканирование на чипе"

Это сказанное, это подводит нас к вопросу:

"Какие аппаратные устройства будут поддерживать эту функцию?"

Что ж, ответ на этот вопрос немного сложнее, поскольку это не является обязательной функцией для аппаратного обеспечения / протокола Bluetooth, и, вероятно, он будет варьироваться от производителя к производителю. Но на данный момент единственными устройствами, которые официально поддерживают эту технологию без особых проблем, являются Nexus 6 и Nexus 9, поскольку их аппаратное обеспечение уже поставляется с поддержкой. Лучшее, что вы можете сделать, это не полагаться только на технологии на данный момент, а попытаться изучить другие возможные решения, если таковые имеются.

Другие вопросы по тегам