0

ここで、電話がバッテリーでどれくらいの時間動作するかを確認できますか? どうにかしてこの情報をアプリケーションで取得できますか?

ここにバッテリーの健康温度を取得するためのコードがありますが、これは必要ありません。このビューに示すように、時間が必要です。

ここに画像の説明を入力

4

3 に答える 3

5

この値をバッテリー情報から直接取得できるとは思いません。ただし、できることはこれです。

  1. 読み取りの残りのパーセンテージ (x% など) と現在のタイムスタンプ
  2. バッテリーレベルの変化のためにブロードキャストレシーバーを登録し、新しいパーセンテージを読み取りますonReceive(例: y%、通常はx - 1x - 2
  3. 2 つのタイムスタンプと 2 つのパーセンテージ (x - y) の差を取得します。これにより、(x - y)% のバッテリーがどれだけ持続するかがわかります。それを y% に外挿するだけで、答えが得られます。

また、リンクした質問のコードを使用して割合を決定できます。

たとえば、タイムスタンプ 1361882535654 で 80% のバッテリーを取得します。その後、79% を取得すると、タイムスタンプは 1361882801234 になります。これは、バッテリーの 1% が約 265 秒持続することを意味し、したがって、バッテリーの残り時間は約 79 * 265 = 209305 です。秒、つまり 2 日 10 時間 8 分 25 秒です。

はい、これには当然時間がかかります (つまり、バッテリーの電源が切れるまで 200 秒ほど待つ必要があります)。システム アプリがすぐに表示できるのは、システム プロセスがバックグラウンドで継続的に実行されているためです。

于 2013-02-26T12:47:36.810 に答える
2

私はあなたが使用することができBatterStatusImpl、これらはAndroid gitからそれらをフォークするプライベートAPIであるIInterfaceと思いますIBatteryStats

于 2013-05-22T06:17:02.483 に答える
1

Intent.ACTION_POWER_USAGE_SUMMARYを見てください。

于 2013-02-26T12:40:30.117 に答える