Bluetooth на Android
Sep. 25th, 2014 12:35 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Всем привет.
Устройства на iOS при подключении к ним устройств по блютусу могут показывать оставшийся заряд батареи,

Причем оценка достаточно точная и проверялась не в одной беспроводной гарнитуре разного ценового диапазона. Т.е. как я понимаю, в блютус-устройствах есть сенсор, который снимает заряд аккумулятора может использоваться с каким-нибудь профилем и считываться мастер-устройством.
К сожалению, в Android подобной "фичи" я так и не нашел, более того, весь софт для мониторинга заряда батареи, который попадался в Play Market, не собирает реальные показания, а расчитывает по времени работы (при первом запуске считает сколько "проживет" гарнитура без зарядки, а потом суммирует время ее работы и дает оценку степени заряда батареи).
Вопрос: есть ли способ получить значения заряда батари гарнитуры на Android?
Устройства на iOS при подключении к ним устройств по блютусу могут показывать оставшийся заряд батареи,
Причем оценка достаточно точная и проверялась не в одной беспроводной гарнитуре разного ценового диапазона. Т.е. как я понимаю, в блютус-устройствах есть сенсор, который снимает заряд аккумулятора может использоваться с каким-нибудь профилем и считываться мастер-устройством.
К сожалению, в Android подобной "фичи" я так и не нашел, более того, весь софт для мониторинга заряда батареи, который попадался в Play Market, не собирает реальные показания, а расчитывает по времени работы (при первом запуске считает сколько "проживет" гарнитура без зарядки, а потом суммирует время ее работы и дает оценку степени заряда батареи).
Вопрос: есть ли способ получить значения заряда батари гарнитуры на Android?
no subject
Date: 2014-09-25 02:06 pm (UTC)no subject
Date: 2014-09-25 02:10 pm (UTC)http://forums.androidcentral.com/general-help-how/160738-bluetooth-headset-battery-level-app.html
Edit: I just did some research and found that it is indeed a function of iOS, and has been apparently since the beginning, but will only work on headsets that are designed to report their battery level, as I suspected. I guess Google doesn't think anyone would be interested in this feature, or they would have built it into Android.
То есть, в iOS эта фича была изначально, но работала только с теми устройствами, которые (спасибо КЭПу) умеют это делать. А в гугле решили, что это вряд ли кому-то будет интересно, и не стали внедрять поддержку этой фичи на уровне ОС.
no subject
Date: 2014-09-25 08:39 pm (UTC)Я полагаю, что поддержка такой фичи задокументирована на уровне спецификации блютус-профиля HandsFree, и раз Андроид-устройство поддерживает этот профиль - заряд должен где-то отображаться.
Либо дело за "ленивыми" программистами из Google (да и из ребят, добавляющих софт в Play Market).
no subject
Date: 2014-09-25 02:20 pm (UTC)no subject
Date: 2014-09-25 08:35 pm (UTC)Я нашел кое-какую информацию (https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf), указывающую на это:
5. Bluetooth Headset Battery Level Indication
Any Hands-Free Bluetooth headset accessory can show its battery level to the user as an indicator icon in the
iOS device status bar. This feature is supported on all iOS devices that support the Hands-Free Profile, including
iPhone, iPod touch, and iPad.
Headset battery indication is implemented by two Apple-specific Bluetooth HFP AT commands, “4.1 HFP
Command AT+XAPL” (page 26) and “5.1 HFP Command AT+IPHONEACCEV” (page 28).
Похоже, что речь идет о стандартном блютус-профиле "Handsfree", который поддерживается не только iOS-девайсами, но и кучей других устройств. Вопрос в том, почему андроид-устройства не позволяют получить уровень заряда батареи? Я тестировал на одних и тех же гарнитурах (дешевенькие за $20 или за $50) - для всех из iOS отображает уровень заряда, а андроид - не хочет. Андроид брался Jelly Bean и KitKat (Xiaomi Mi3, Umi x2, SGS, Google Nexus).
Кроме того, я задался поиском софта - очевидно, что сами мобильные устройства поддерживают протокол обмена - дело только в том, чтобы взять и написать софт. Но в Play Market такого я так и не нашел.
no subject
Date: 2014-09-25 10:49 pm (UTC)no subject
Date: 2014-09-26 05:55 am (UTC)Даже если это и "Apple-specific" - речь идет о блютус-профилях. Это не какая-нибудь технология, защищенная патентом Apple. Вопрос ведь в том почему этого нет на Android, а если и есть - то как получить?
Ладно, попробую на досуге расковырять HFP и максимально опросить девайс с Android-телефона. А вот даже протокол для iOS есть: https://bluegiga.zendesk.com/entries/64511103-How-to-send-handsfee-battery-level-indication-to-iOS-devices
no subject
Date: 2014-09-26 07:04 am (UTC)no subject
Date: 2014-09-25 06:48 pm (UTC)no subject
Date: 2014-09-26 07:56 am (UTC)> она транслировала состояние своего аккумулятора на телефон
а какой телефон был, если не секрет?
no subject
Date: 2014-09-26 08:16 am (UTC)