Android SDKからバッテリー情報を取得する方法はありますか?バッテリーの残量などのような?私はドキュメントを通してそれを見つけることができません。SDKのAndroidバッテリー
答えて
ACENT_BATTERY_CHANGED:http://developer.android.com/reference/android/content/Intent.html#ACTION_BATTERY_CHANGEDのブロードキャストを受信するインテントレシーバを登録できます。ドキュメントは、放送がスティッキーであると言います。そのため、バッテリーの状態が変化した後でも、それをつかむことができます。
ここでは、使用されるバッテリーの量、バッテリー電圧、およびその温度を得る簡単な例を示します。
が活動に次のコードを貼り付け:私の携帯電話に
@Override
public void onCreate() {
BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
int scale = -1;
int level = -1;
int voltage = -1;
int temp = -1;
@Override
public void onReceive(Context context, Intent intent) {
level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage);
}
};
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryReceiver, filter);
}
、これは次の出力ごとに10秒を持っています
ERROR/BatteryManager(795): level is 40/100 temp is 320, voltage is 3848
は、これはバッテリーが40%であることを意味します完全であり、摂氏32.0度の温度を有し、3.848ボルトの電圧を有する。
これは素晴らしい例ですが、なぜそれを "エラー"レベルでログに記録しますか? – GetUsername
@GetUsername個人的な好み以外のエラーレベルのログには特別な理由はありません。私のアプリを公開する前にこれを削除するようなロギングでは、エラーレベルでログしてlogcat出力のロギングを見やすくするのが好きです。 – plowman
バッテリーにモニターを取り付け、レベルと状態を確認する必要がありました。私はMonoForAndroidで開発しているので、ここで私が思いついたのです。私は誰かが同様の要件を持っている場合に備えてここに置いています。 (私はこれを試してうまく動作する)。
try
{
var ifilter = new IntentFilter(Intent.ActionBatteryChanged);
Intent batteryStatusIntent = Application.Context.RegisterReceiver(null, ifilter);
var batteryChangedArgs = new AndroidBatteryStateEventArgs(batteryStatusIntent);
_Battery.Level = batteryChangedArgs.Level;
_Battery.Status = batteryChangedArgs.BatteryStatus;
}
catch (Exception exception)
{
ExceptionHandler.HandleException(exception, "BatteryState.Update");
throw new BatteryUpdateException();
}
namespace Leopard.Mobile.Hal.Battery
{
public class AndroidBatteryStateEventArgs : EventArgs
{
public AndroidBatteryStateEventArgs(Intent intent)
{
Level = intent.GetIntExtra(BatteryManager.ExtraLevel, 0);
Scale = intent.GetIntExtra(BatteryManager.ExtraScale, -1);
var status = intent.GetIntExtra(BatteryManager.ExtraStatus, -1);
BatteryStatus = GetBatteryStatus(status);
}
public int Level { get; set; }
public int Scale { get; set; }
public BatteryStatus BatteryStatus { get; set; }
private BatteryStatus GetBatteryStatus(int status)
{
var result = BatteryStatus.Unknown;
if (Enum.IsDefined(typeof(BatteryStatus), status))
{
result = (BatteryStatus)status;
}
return result;
}
}
}
#region Internals
public class AndroidBattery
{
public AndroidBattery(int level, BatteryStatus status)
{
Level = level;
Status = status;
}
public int Level { get; set; }
public BatteryStatus Status { get; set; }
}
public class BatteryUpdateException : Exception
{
}
#endregion
public static String batteryLevel(Context context)
{
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
int percent = (level*100)/scale;
return String.valueOf(percent) + "%";
}
- 1. Dozeバッテリーの最適化によるAndroid SDKのデモ
- 2. Androidのデバッグ - >バッテリーのドレイン
- 3. Androidバッテリーの最適化
- 4. バッテリー関連の情報android
- 5. Android通知とバッテリー寿命
- 6. バッテリー使用率高android
- 7. android - バッテリーの電流値の単位は?
- 8. Android AlarmManagerの重いバッテリーの排水器?
- 9. Androidバッテリーの消費量の問題
- 10. Android M startActivityバッテリーの最適化
- 11. Android - CPU使用率とバッテリーの放電
- 12. Android SDKマネージャーAndroid SDKのno
- 13. iphone SDK内のバックグラウンドアクティビティによるバッテリーの放電を減らす
- 14. Android開発:バッテリー残量を表示
- 15. Androidロケーションサービスでバッテリーを溶かすロケーションAPI
- 16. Android SDK。 Google API SDKのリンク
- 17. Android appcelerator Android SDK 23、Ti SDK 5.1.0以上
- 18. AndroidのSDKは
- 19. のAndroid SDKマネージャーエクストラ
- 20. Androidのスタジオエラー(SDK)
- 21. android sdkのインストール
- 22. Android SDKのバーチャルジョイスティック
- 23. AndroidのSDK
- 24. Android SDKのサポート
- 25. Android sdk。
- 26. Android SDKツールとSDKマネージャー
- 27. Androidのクエリのバッテリー統計のコンテキストの問題
- 28. インテグレーションのAndroid SDKへのFacebook SDK
- 29. のAndroid SDKのインストール
- 30. Androidバッテリー残量通知&5分後のシャットダウン/デバイスの電源オフ
あなたは、このためのいくつかのサンプルコードを投稿することができます。私は放送の意図をどのように受け取るのか分からない。 –