Bluetooth バッテリー レベル インジケーターがついに Android に搭載される可能性があり、Google、Motorola、Sony のデバイスは接続されたデバイスのバッテリー レベルを取得できるようになります。
Bluetooth ヘッドセットやその他のデバイスを使用している人にとって非常に便利な機能が、ついに AOSP (Bluetooth バッテリー レベル インジケーター) に登場しました。 これは、Google、Motorola、Sony、およびほぼ標準の Android ソフトウェアを搭載したその他のデバイスのユーザーは、次のことを行う必要があることを意味します。 サードパーティを必要とせずに、Bluetooth 接続デバイスのバッテリー レベルを知ることができます。 応用。 この Bluetooth バッテリー レベル インジケーターが最終状態でどのように表示されるかは正確にはわかりませんが、 AOSP にこの新しい API が存在するということは、開発者がどのような方法でも Bluetooth バッテリー インジケーターを実装できることを意味します。 のように。
特定のカスタム ROM (LineageOS など) または特定のメーカーのデバイス (Samsung、LG、Huawei、OnePlus、Xiaomi など) を使用している人にとって、これは新しい機能ではありません。 接続された Bluetooth デバイスのバッテリー レベル インジケーターは、多くのカスタム ROM およびサードパーティ OEM デバイスで長年サポートされてきましたが、そのような この機能は Android オープンソース プロジェクト (AOSP) から特に欠落しているため、ストック ファームウェア上の Google 携帯電話はサポートされません。 それ。
Bluetooth デバイスを使用しているユーザーは、幸運にもコンパニオン アプリケーションを利用できます。 Google Play ストアはその方法でバッテリー レベル情報を取得できますが、それ以外の情報はほとんどありません。 オプション。 Playストアで人気のあるアプリケーションは、
バトン この機能を追加しようとしましたが、サポートできるデバイスの範囲がかなり制限されています(過失はありません) 独自のもの)、非常にバグがあることでも知られています(多くのユーザーが Bluetooth の切断が頻繁に起こると報告しています)。価格:無料。
2.8.
自分が所有する単一の Bluetooth デバイスでのみ動作する、または 1 つの Bluetooth デバイスのみをサポートするサードパーティ製アプリケーションに依存するのではなく、 世の中にはデバイスが少ないので、他のデバイスで利用できる機能を Google が介入して提供してくれたら素晴らしいのにと思います。 年。 そしてついに、彼らはまさにそれをやっているようです。
AOSP の Bluetooth バッテリー レベル API
Bluetooth の各イテレーションの標準を監督する団体である Bluetooth Special Interest Group (Bluetooth SIG) は、すでにバッテリー サービス (BAS) を定義しています。 ガット (汎用属性サービス) ただし、Bluetooth が BAS をサポートするかどうかは決まりです。 AOSP を調査中に見つけたいくつかの新しいコミットによると、Google は新しいコミットを追加する準備を進めています。 API 「リモートデバイスのバッテリーレベルを取得する」。 特に、AOSP への次の追加点について言及しています。
リモートデバイスのバッテリーレベルを取得するための API を追加する
- リモート デバイスのバッテリー レベル情報を取得する BluetoothDevice.getBatteryLevel() API を追加
- Bluetoothデバイスを追加します。 ACTION_BATTERY_LEVEL_CHANGED リモート デバイスのバッテリー レベルが変化したことをユーザーに通知するインテント
- BluetoothDevice.getBatteryLevel() のバックエンド サービス メソッドを追加します。
- ゲッターとセッターを使用して DeviceProperties にバッテリー レベル フィールドを追加する
- RemoteDevices に updateBatteryLevel() メソッドを追加
- RemoteDevicesにresetBatteryLevel()メソッドを追加
- aclStateChangeCallback() でデバイスが切断されたときにデバイスのバッテリー レベルをリセットして、接続後にデバイスが最初にバッテリー レベル情報を報告するときに BATTERY_LEVEL_CHANGED インテントを保証します。
- updateBatteryLevel() と replaceBatteryLevel() のテストを追加します
このことから、Google が新しいメソッドを Bluetoothデバイス getBatteryLevel() と呼ばれるクラスは、呼び出されたときに接続されているデバイスの現在のバッテリー レベルを取得します。 情報源によると コード、これは 0 ~ 100 の値を返します (Bluetooth が無効になっている場合、デバイスが切断されている場合、またはバッテリー レベルの報告をサポートしていない場合は -1 を返します)。 したがって、これは、バッテリー レベルを単純なバーよりも有益な方法で表示できることを意味します。 たとえば、開発者は、正確なパーセントを含む通知やウィジェットを表示できます。
しかし、それだけではありません。 ACTION_BATTERY_LEVEL_CHANGED ブロードキャスト インテントをサブスクライブするアプリケーションは、接続されたデバイスのバッテリー レベルが変化したときに通知されます。 ブロードキャスト レシーバーを使用すると、接続された Bluetooth デバイスのバッテリー状態の変化をリッスンするアプリケーションは、 バッテリーレベルが変化すると通知されるため、永続的なバックグラウンドポーリングサービスを実装する必要はありません。 親切。 この値は、インテントの追加 EXTRA_BATTERY_LEVEL を通じて 0 ~ 100% の整数として送信され、 アプリケーションは、追加のインテントをフィルタリングすることで、接続されているデバイスを区別できます。 EXTRA_DEVICE。
Plantronics のような独自の方法でバッテリー情報を送信する特定のデバイスでも、 Xイベント またはアップルの VSC、もサポートされます。 Bluetooth Low Energy (BLE) のバッテリー レベルのレポートについても作業が行われています。 サポートされているただし、現時点では「マージできません」と表示されています。
Android 8.1に搭載される可能性のある機能?
Android O の登場はもうすぐです。 の 4 回目の開発者プレビュー は最近リリースされ、主にバグ修正を目的としていましたが、ところどころ UI に小さな調整が加えられていました。 ただし、Google は次のように発表しました。 3 回目の開発者プレビュー 開発者が Android の次のバージョンに備えるために使用できる、完成した Android O API をすべて紹介しました。 したがって、これは、新しい接続された Bluetooth バッテリー レベル レポート API が Android O の最初のリリース (Android 8.0) に組み込まれないことを意味します。
ただし、それが来ないという意味ではありません。 Google がこの API を(実際に完成したら)正式に導入する可能性があります。 Android 8.1のリリース。 同時に、この機能をサポートすることを決定する可能性もあります。 アンドロイド サポートライブラリ、それを以前の Android バージョンにもたらします。 それが実現すれば、ユーザーはそのような機能を楽しむために何ヶ月も待つ必要はありません (ただし、私たちはユーザーに、素晴らしいフォーラムで利用可能な多数のカスタム ROM の 1 つを試すことを常に推奨しています)。
それにもかかわらず、これは携帯電話の標準ソフトウェアのファンにとってはエキサイティングなニュースであるはずです。 はるか昔に Android で利用できるはずだったこの気の利いた機能を備えた Apple、Samsung、Huawei、LG、その他のデバイスのユーザーに嫉妬する必要がなくなることを願っています。 最近このアイデアに対する支持が殺到していることを考えると、 レディット、最終的に標準の Android になったときに、これは歓迎される機能になると確信しています。