Что касается BLE периферического/рекламной поддержки:
В HTC Desire 816 был выпущен в феврале 2014 года с Android 4.4. Месяцы спустя, в ноябре 2014 года, Google пояснил, что единственными устройствами, поддерживающими периферийный/рекламный режим BLE в этот момент, были Nexus 6 и Nexus 9 (in this thread).
Поэтому я пришел к выводу, что Desire 816 не поддерживает этот режим, хотя его уровень API для Android. Но с отсутствием такого устройства я не могу проверить это самостоятельно.
Что касается вашего кода:
Я сравнил свой код к моей собственной реализации BLE рекламы. С моей точки зрения, этот код должен успешно работать. В любом случае я был смущен, что isMultipleAdvertisementSupported()
не возвращает логическое значение. Взглянув в Android Docs, я увидел, что этот метод возвращает только истинные значения. Таким образом, поскольку он возвращает null для вас, это будет еще одним доказательством того, что ваше устройство не поддерживает режим периферийной рекламы/рекламы BLE.
Надеюсь, что это поможет :)