블루투스 배터리 잔량 표시기가 마침내 안드로이드에옵니다

Bluetooth 헤드셋 및 기타 장치를 사용하는 사람들에게 실제로 유용한 기능은 마침내 AOSP (Bluetooth 배터리 수준 표시기)입니다. 즉, Google, Motorola, Sony 및 거의 재고가있는 Android 소프트웨어가있는 기타 장치 사용자는 타사 응용 프로그램 없이도 Bluetooth 연결 장치의 배터리 수준을 알 수 있어야합니다. 이 Bluetooth 배터리 잔량 표시기가 최종 상태로 어떻게 표시되는지 정확히 알 수는 없지만 AOSP에이 새로운 API가 있으면 개발자는 원하는대로 Bluetooth 배터리 표시기를 구현할 수 있습니다.

이제는 LineageOS와 같은 특정 사용자 정의 ROM 또는 Samsung, LG, Huawei, OnePlus 또는 Xiaomi와 같은 특정 제조업체의 장치를 사용하는 사용자에게는 새로운 기능이 아닙니다. 연결된 Bluetooth 장치의 배터리 잔량 표시기는 수년 동안 많은 사용자 정의 ROM 및 타사 OEM 장치에서 지원되었지만 이러한 기능은 Android 오픈 소스 프로젝트 (AOSP)에서 현저히 누락되었습니다. 펌웨어가 지원하지 않습니다.

삼성 블루투스 배터리 잔량 표시기

OnePlus Bluetooth 배터리 잔량 표시기

LG 블루투스 배터리 잔량 표시기

Google Play 스토어에서 컴패니언 애플리케이션을 사용할 수있을 정도로 운이 좋은 블루투스 기기 사용자는 그런 식으로 배터리 수준 정보를 검색 할 수 있지만 그렇지 않은 경우 옵션이 거의 없습니다. BatON이라는 Play 스토어에서 널리 사용되는 응용 프로그램에서이 기능을 추가하려고 시도했지만 지원할 수있는 장치 범위 (자신의 결함이 없음)가 상당히 제한되어 있으며 많은 사용자가 자주보고하는 버그가있는 것으로 알려져 있습니다. 블루투스 연결 끊기).

소유하고있는 단일 블루투스 기기에서만 작동하거나 소수의 기기 만 지원하는 타사 애플리케이션에 의존하기보다는 Google이 다른 기기에서 사용할 수있는 기능을 제공하기 위해 시작한 것이 좋습니다. 연령. 그리고 마지막으로, 그들은 그렇게하고있는 것처럼 보입니다.


AOSP의 블루투스 배터리 수준 API

각 Bluetooth 반복에 대한 표준을 감독하는 기관인 Bluetooth SIG (Bluetooth Special Interest Group)는 GATT (Generic Attributes Services)에서 배터리 서비스 (BAS)를 이미 정의했지만 Bluetooth가 BAS를 지원해야합니다. AOSP를 파헤치는 동안 발견 한 새로운 커밋에 따르면 Google은“원격 장치의 배터리 수준을 얻기 위해”새로운 API를 추가 할 준비를하고 있습니다. 특히 AOSP에 다음과 같은 추가 사항이 언급되어 있습니다.

원격 장치의 배터리 수준을 확보하기 위해 API 추가

  • 원격 장치의 배터리 수준 정보를 검색하려면 BluetoothDevice.getBatteryLevel () API를 추가하십시오.
  • BluetoothDevice.ACTION_BATTERY_LEVEL_CHANGED 의도를 추가하여 원격 장치의 배터리 수준이 변경되었음을 사용자에게 알리십시오.
  • BluetoothDevice.getBatteryLevel ()에 대한 백엔드 서비스 메소드 추가
  • 게터 및 세터가있는 DeviceProperties에서 배터리 수준 필드 추가
  • 원격 장치에 updateBatteryLevel () 메소드 추가
  • 원격 장치에 resetBatteryLevel () 메소드 추가
  • 장치가 연결 후 배터리 수준 정보를 처음보고 할 때 BATTERY_LEVEL_CHANGED 의도를 보장하기 위해 aclStateChangeCallback ()에서 장치 연결이 끊어졌을 때 장치의 배터리 수준을 재설정합니다.
  • updateBatteryLevel () 및 resetBatteryLevel ()에 대한 테스트 추가

이를 통해 Google은 getBatteryLevel ()이라는 BluetoothDevice 클래스에 호출시 연결된 장치의 현재 배터리 수준을 검색하는 새로운 메소드를 추가 함을 알 수 있습니다. 소스 코드에 따르면 0에서 100 사이의 값을 반환합니다 (또는 Bluetooth가 비활성화되어 있거나 장치가 연결 해제되었거나 배터리 잔량보고를 지원하지 않는 경우 -1). 따라서 이는 단순한 막대보다 더 유용한 방식으로 배터리 잔량이 표시 될 수 있음을 의미합니다. 예를 들어 개발자는 정확한 백분율로 알림 또는 위젯을 표시 할 수 있습니다.

그러나 이것이 전부는 아닙니다. 연결된 장치의 배터리 수준이 변경되면 ACTION_BATTERY_LEVEL_CHANGED 브로드 캐스트 인 텐트를 구독하는 응용 프로그램에 알림이 표시됩니다. 브로드 캐스트 수신기를 사용하면 배터리 수준이 변경되면 연결된 Bluetooth 장치의 배터리 상태 변화를 수신하는 응용 프로그램에 알림이 표시되므로 어떠한 종류의 지속적인 백그라운드 폴링 서비스도 구현할 필요가 없습니다. 이 값은 추가 여분의 EXTRA_BATTERY_LEVEL을 통해 0에서 100 % 사이의 정수로 전송되며 응용 프로그램은 여분의 EXTRA_DEVICE를 통해 필터링하여 연결된 장치를 구별 할 수 있습니다.

Plantronics의 XEvent 또는 Apple의 VSC와 같이 자체 방식으로 배터리 정보를 전송하는 특정 장치도 지원됩니다. 현재 BLE (Bluetooth Low Energy) 배터리 수준보고가 지원되고 있지만 현재 "병합 할 수 없음"으로 표시되어 있습니다.


안드로이드 8.1에 가능한 기능?

안드로이드 O는 우리에게 거의 다가 왔습니다. 네 번째 개발자 미리보기는 최근에 릴리스되었으며 대부분 버그 수정을 목표로했지만 여기 저기 약간의 UI 조정이있었습니다. 그러나 Google은 세 번째 개발자 미리보기에는 개발자가 다음 버전의 Android를 준비하는 데 사용할 수있는 최종 Android O API가 모두 포함되어 있다고 발표했습니다. 따라서, 새로 연결된 Bluetooth 배터리 수준보고 API가 Android O – Android 8.0의 첫 번째 릴리스에는 적용되지 않습니다.

그러나 이것이 오지 않을 것이라는 의미는 아닙니다. Google은 Android 8.1의 최종 출시와 함께이 API를 공식적으로 (실제로 완료된 경우) 소개 할 수 있습니다. 동시에, Android 지원 라이브러리를 통해이 기능을 지원하여 이전 Android 버전으로 가져 오기로 결정할 수도 있습니다. 그 결과가 발생하면 사용자는 그러한 기능을 즐기기 위해 몇 달을 기다리지 않아도됩니다 (우리는 항상 사용자가 멋진 포럼에서 사용할 수있는 많은 사용자 정의 ROM 중 하나를 시도하도록 권장합니다).

그럼에도 불구하고, 이것은 휴대 전화에서 재고 소프트웨어 팬에게 흥미로운 소식이 될 것입니다. 오래 전에 안드로이드에서 사용 가능했던이 멋진 기능을 갖춘 Apple, Samsung, Huawei, LG 및 기타 장치를 사용하는 사용자에 대해 질투하지 않아도되기를 바랍니다. 최근 Reddit에 대한 아이디어에 대한 지원이 부어 짐에 따라 Android가 재고가 될 때 환영받는 기능이 될 것입니다.