ในที่สุดตัวบ่งชี้ระดับแบตเตอรี่ Bluetooth ก็มาถึง Android แล้ว

ตัวบ่งชี้ระดับแบตเตอรี่ Bluetooth อาจมีจำหน่ายใน Android ในที่สุด ดังนั้นอุปกรณ์ Google, Motorola และ Sony สามารถรับระดับแบตเตอรี่ของอุปกรณ์ที่เชื่อมต่อได้

ฟีเจอร์ที่มีประโยชน์จริงๆ สำหรับพวกเราที่มีชุดหูฟังบลูทูธและอุปกรณ์อื่นๆ ในที่สุดก็มาถึง AOSP: ตัวบ่งชี้ระดับแบตเตอรี่บลูทูธ ซึ่งหมายความว่าผู้ใช้ Google, Motorola, Sony และอุปกรณ์อื่นๆ ที่มีซอฟต์แวร์ Android ที่ใกล้สต็อกควรจะเป็นเช่นนั้น สามารถบอกระดับแบตเตอรี่ของอุปกรณ์ที่เชื่อมต่อ Bluetooth ได้โดยไม่ต้องใช้บุคคลที่สาม แอปพลิเคชัน. ไม่มีการบอกแน่ชัดว่าตัวบ่งชี้ระดับแบตเตอรี่ Bluetooth นี้จะปรากฏในสถานะสุดท้ายอย่างไร แต่ การมีอยู่ของ API ใหม่นี้ใน AOSP หมายความว่านักพัฒนาสามารถใช้ตัวบ่งชี้แบตเตอรี่ Bluetooth ได้ ชอบ.

ตอนนี้สำหรับพวกคุณที่ใช้ ROM แบบกำหนดเองบางตัว (เช่น LineageOS) หรือกับอุปกรณ์จากผู้ผลิตบางราย (เช่นจาก Samsung, LG, Huawei, OnePlus หรือ Xiaomi) นี่ไม่ใช่คุณสมบัติใหม่ ตัวแสดงระดับแบตเตอรี่สำหรับอุปกรณ์ Bluetooth ที่เชื่อมต่อได้รับการรองรับบน ROM แบบกำหนดเองและอุปกรณ์ OEM บุคคลที่สามจำนวนมากมานานหลายปีแล้ว แต่เช่น คุณลักษณะขาดหายไปจาก Android Open Source Project (AOSP) อย่างเห็นได้ชัด ซึ่งหมายความว่าโทรศัพท์ Google ใดๆ ในเฟิร์มแวร์หุ้นจะไม่รองรับ มัน.

ตัวบ่งชี้ระดับแบตเตอรี่ Bluetooth ของ Samsung
ตัวบ่งชี้ระดับแบตเตอรี่ Bluetooth ของ OnePlus
ตัวบ่งชี้ระดับแบตเตอรี่ Bluetooth ของ LG

ผู้ใช้ที่มีอุปกรณ์ Bluetooth ที่โชคดีพอที่จะมีแอปพลิเคชันร่วมบน Google Play Store สามารถดึงข้อมูลระดับแบตเตอรี่ได้ด้วยวิธีนั้น แต่อย่างอื่นก็มีน้อย ตัวเลือก. แอปพลิเคชั่นยอดนิยมบน Play Store ที่เรียกว่า ค้างคาว พยายามเพิ่มคุณสมบัตินี้ แต่ค่อนข้างจำกัดว่าสามารถรองรับอุปกรณ์ประเภทใดบ้าง (โดยไม่ใช่ข้อผิดพลาด ของตัวเอง) และยังเป็นที่รู้กันว่าค่อนข้างบั๊กกี้ (โดยมีผู้ใช้จำนวนมากรายงานว่ามีการตัดการเชื่อมต่อ Bluetooth บ่อยครั้ง)

ค้างคาวผู้พัฒนา: ขีดจำกัด

ราคา: ฟรี

2.8.

ดาวน์โหลด

แทนที่จะพึ่งพาแอปพลิเคชันของบุคคลที่สามที่ทำงานเฉพาะกับอุปกรณ์ Bluetooth เครื่องเดียวที่คุณเป็นเจ้าของหรือรองรับเฉพาะ มีอุปกรณ์ไม่กี่เครื่อง คงจะดีไม่น้อยหาก Google ก้าวเข้ามานำเสนอคุณลักษณะที่มีอยู่ในอุปกรณ์อื่นๆ สำหรับ ปี. และสุดท้าย ดูเหมือนว่าพวกเขากำลังทำแบบนั้น


API ระดับแบตเตอรี่ Bluetooth ใน AOSP

Bluetooth Special Interest Group (Bluetooth SIG) ซึ่งเป็นหน่วยงานที่ดูแลมาตรฐานสำหรับการทำซ้ำ Bluetooth แต่ละครั้ง ได้กำหนดบริการแบตเตอรี่ (BAS) ใน แกตต์ (บริการคุณสมบัติทั่วไป) แต่ขึ้นอยู่กับบลูทูธที่จะรองรับ BAS ตามข้อผูกพันใหม่ที่เราพบในขณะที่ขุดผ่าน AOSP Google กำลังเตรียมที่จะเพิ่มสิ่งใหม่ API เพื่อ "รับระดับแบตเตอรี่ของอุปกรณ์ระยะไกล" โดยเฉพาะอย่างยิ่งพวกเขากล่าวถึงส่วนเพิ่มเติมต่อไปนี้ใน AOSP:

เพิ่ม API เพื่อรับระดับแบตเตอรี่ของอุปกรณ์ระยะไกล

  • เพิ่ม BluetoothDevice.getBatteryLevel() API เพื่อดึงข้อมูลระดับแบตเตอรี่ของอุปกรณ์ระยะไกล
  • เพิ่มอุปกรณ์บลูทูธ ความตั้งใจ ACTION_BATTERY_LEVEL_CHANGED เพื่อแจ้งให้ผู้ใช้ทราบว่าระดับแบตเตอรี่ของอุปกรณ์ระยะไกลมีการเปลี่ยนแปลง
  • เพิ่มวิธีการบริการแบ็กเอนด์สำหรับ BluetoothDevice.getBatteryLevel()
  • เพิ่มฟิลด์ระดับแบตเตอรี่ใน DeviceProperties ด้วย getters และ setters
  • เพิ่มเมธอด updateBatteryLevel() ใน RemoteDevices
  • เพิ่มเมธอด resetBatteryLevel() ใน RemoteDevices
  • รีเซ็ตระดับแบตเตอรี่สำหรับอุปกรณ์เมื่ออุปกรณ์ถูกตัดการเชื่อมต่อใน aclStateChangeCallback() เพื่อให้แน่ใจว่ามีเจตนา BATTERY_LEVEL_CHANGED เมื่ออุปกรณ์รายงานข้อมูลระดับแบตเตอรี่เป็นครั้งแรกหลังจากการเชื่อมต่อ
  • เพิ่มการทดสอบสำหรับ updateBatteryLevel() และ resetBatteryLevel()

จากนี้เราจะเห็นว่า Google จะเพิ่มวิธีการใหม่ใน อุปกรณ์บลูทูธ คลาสที่เรียกว่า getBatteryLevel() ซึ่งจะดึงระดับแบตเตอรี่ปัจจุบันของอุปกรณ์ที่เชื่อมต่อเมื่อถูกเรียก ตามแหล่งที่มา รหัสโดยจะส่งคืนค่าระหว่าง 0 ถึง 100 (หรือ -1 หากปิดใช้งานบลูทูธ อุปกรณ์ถูกตัดการเชื่อมต่อ หรือไม่รองรับการรายงานระดับแบตเตอรี่) ดังนั้น นี่หมายความว่าเป็นไปได้ที่ระดับแบตเตอรี่จะแสดงในลักษณะที่ให้ข้อมูลมากกว่าแถบธรรมดา นักพัฒนาสามารถแสดงการแจ้งเตือนหรือวิดเจ็ตด้วยเปอร์เซ็นต์ที่แน่นอน เป็นต้น

แต่นั่นไม่ใช่ทั้งหมด แอปพลิเคชันที่สมัครรับจุดประสงค์ในการออกอากาศ ACTION_BATTERY_LEVEL_CHANGED จะได้รับแจ้งเมื่อระดับแบตเตอรี่ของอุปกรณ์ที่เชื่อมต่อมีการเปลี่ยนแปลง เมื่อใช้เครื่องรับกระจายเสียง แอปพลิเคชันที่กำลังฟังการเปลี่ยนแปลงสถานะแบตเตอรี่ของอุปกรณ์ Bluetooth ที่เชื่อมต่อจะเป็นเช่นนั้น แจ้งเตือนเมื่อระดับแบตเตอรี่มีการเปลี่ยนแปลง ดังนั้นจึงไม่จำเป็นต้องใช้บริการโพลเบื้องหลังอย่างต่อเนื่อง ใจดี. ค่านี้จะถูกส่งเป็นจำนวนเต็มระหว่าง 0 ถึง 100% ผ่านทางเจตนาพิเศษ EXTRA_BATTERY_LEVEL และ แอปพลิเคชันสามารถแยกความแตกต่างระหว่างอุปกรณ์ที่เชื่อมต่อโดยการกรองผ่านเจตนาพิเศษ EXTRA_DEVICE

แม้แต่อุปกรณ์บางชนิดที่ส่งข้อมูลแบตเตอรี่ด้วยวิธีของตัวเอง เช่น ของ Plantronics XEvent หรือของแอปเปิ้ล วีเอสซีจะได้รับการสนับสนุนด้วย นอกจากนี้ยังมีงานดำเนินการเกี่ยวกับการรายงานระดับแบตเตอรี่ Bluetooth Low Energy (BLE) ได้รับการสนับสนุนแม้ว่าสิ่งนี้จะถูกระบุว่า "ไม่สามารถรวมได้" ในขณะนี้


คุณสมบัติที่เป็นไปได้สำหรับ Android 8.1?

Android O ใกล้เข้ามาแล้ว ที่ ตัวอย่างนักพัฒนาที่สี่ เปิดตัวเมื่อเร็วๆ นี้และมุ่งเป้าไปที่การแก้ไขข้อบกพร่องเป็นส่วนใหญ่ แม้ว่าจะมีการปรับแต่ง UI เล็กๆ น้อยๆ บ้างก็ตาม อย่างไรก็ตาม Google ได้ประกาศว่า ตัวอย่างนักพัฒนาซอฟต์แวร์รายที่สาม นำเสนอ Android O API ขั้นสุดท้ายทั้งหมดที่นักพัฒนาสามารถใช้เพื่อเตรียมพร้อมสำหรับ Android เวอร์ชันถัดไป ด้วยเหตุนี้ นี่หมายความว่า API การรายงานระดับแบตเตอรี่ Bluetooth ที่เชื่อมต่อใหม่จะไม่เปิดตัวใน Android O - Android 8.0 รุ่นแรก

อย่างไรก็ตามนั่นไม่ได้หมายความว่ามันจะไม่มา เป็นไปได้ที่ Google จะแนะนำ API นี้อย่างเป็นทางการ (เมื่อเสร็จสิ้นจริง) ในท้ายที่สุด การเปิดตัว Android 8.1. ในเวลาเดียวกัน พวกเขาอาจตัดสินใจว่าจะรองรับฟีเจอร์นี้ผ่านทาง หุ่นยนต์ ห้องสมุดสนับสนุนโดยนำมาสู่ Android เวอร์ชันก่อนหน้า หากสิ่งนี้เกิดขึ้น ผู้ใช้จะไม่ต้องรอเป็นเดือนเพื่อเพลิดเพลินกับฟีเจอร์ดังกล่าว (แม้ว่าเราจะสนับสนุนให้ผู้ใช้ลองใช้ ROM แบบกำหนดเองที่มีอยู่มากมายในฟอรัมที่ยอดเยี่ยมของเราก็ตาม)

อย่างไรก็ตาม นี่ควรเป็นข่าวที่น่าตื่นเต้นสำหรับแฟน ๆ ของซอฟต์แวร์สต็อกบนโทรศัพท์ของพวกเขา หวังว่าคุณจะไม่ต้องอิจฉาผู้ใช้ Apple, Samsung, Huawei, LG และอุปกรณ์อื่น ๆ ที่มีฟีเจอร์เก๋ ๆ นี้ซึ่งควรจะมีใน Android เมื่อนานมาแล้ว เมื่อพิจารณาจากการสนับสนุนแนวคิดนี้อย่างล้นหลามเมื่อเร็ว ๆ นี้ เรดดิตเรามั่นใจว่านี่จะเป็นคุณสมบัติที่น่ายินดี - เมื่อมาถึง Android ในสต็อกในที่สุด