端末の電池の残量をアクティビティに渡したい

公開日: : 最終更新日:2014/10/13 Android, Java

アプリを作成している時に、端末の電池の残量を取得したい事があると思います。仕組みは電池の残量を管理するサービスから情報をもらう事になります。情報の取得方法を見てみましょう。

情報を探してみたけど、情報をレシーバで受け取るところまではたくさんあるけど、肝心のその情報をアクティビティなどで読み取る情報がなかったのでメモがてら公開します。

 

TestActivity.java

public class TestActivity extends ActionBarActivity {

@Override
public void onCreate(Bundle bundle) {

super.onCreate(bundle);

}

public void onPause() {

super.onPause();

// 電池残量レシーバを終了する
unregisterReceiver(broadcastReceiver);

}

public void onResume() {

super.onResume();

// 電池残量レシーバを登録する
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(broadcastReceiver, filter);

// 電池残量レシーバで登録した情報を取得する
Bundle extras = mBroadcastReceiver.getResultExtras(true);
Log.v(“level”, String.valueOf(extras.getInt(“level”, -1)));

}

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {

@Override
public void onReceive(Context context, Intent intent) {

// 情報を登録する
Bundle extras = getResultExtras(true);
extras.putInt(“level”, intent.getIntExtra(“level”, 0));
setResultExtras(extras);

}

}

このサンプルではレシーバから電池の残量をTestActivityに渡す処理になります。

取得できる項目は残量の他に下記があります。

status(int)…充電状態 BatteryManager.BATTERY_STATUS_(CHARGING|DISCHARGING|FULL|NOT_CHARGING|UNKNOWN)
health(int)…バッテリーの健康状態 BatteryManager.BATTERY_HEALTH_(UNKNOWN|DEAD|GOOD|OVERHEAT|OVER_VOLTAGE|UNSPECIFIED_FAILURE)
present(boolean)・・・バッテリーの有無
level(int)…残量
scale(int)…残量の最大値
icon-small(int)…ステータスバーアイコンのリソースID
plugged(int)…ケーブルの接続状態 BatteryManager.BATTERY_PLUGGED_(AC|USB)
voltage(int)…バッテリの電圧(mV)
temperature(int)…バッテリの温度、0.1度単位。例えば、197は、19.7度。
technology(String)…バッテリの種類

 

参考になれば大変幸いです。

メイン広告

関連記事

no image

androidをスリープ状態にしたくない!

今回はandroid開発ネタで。動画や音楽再生には必須といえる「スリープ状態にしない」とい対応につい

記事を読む

no image

Android開発環境の導入(その6) – EclipseのAndroid Plug-inとSDKを連携させる

前回は「

記事を読む

no image

Android開発環境の導入(その5) – Android Plug-inのインストール

前回は「

記事を読む

no image

Android & Bluetooth(その1)

さて、今回は自己満足の自作アプリをBluetoothで制御しようとしハマッたお話です。 大概記事書

記事を読む

no image

AndroidManifest.xmlのandroid:launchModeについて

今回は、AndroidManifest.xmlのandroid:launchModeについてなんだか

記事を読む

no image

Android & Bluetooth(その2)

前回は、AndroidアプリをBluetoothで制御するのにお手上げ状態でした。今回は、他のBlu

記事を読む

no image

Android開発環境の導入(その3) – Android SDKのインストール

前回は「

記事を読む

no image

Android開発環境の導入(その1)

自宅資料の中から使いそうなやつを抜粋。   何回かに分けて公開しよう。

記事を読む

no image

Android開発環境の導入(その4) – Eclipseのインストール

前回は「

記事を読む

no image

Android開発環境の導入(その7) – Android端末をPCに認識させる

前回は「

記事を読む

横長広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


メイン広告

no image
SSDの換装

久しぶりです。新しくブログが更新されたと言うことは・・・。 そうです

CentOS7.2で最小限のインストール

今回は、最新のCentOS 7.2をインストールしてみよう。GUIベー

phpMyAdminの拡張機能を設定しよう

いまさらだけどちょうどサーバ環境を作る機会があったので phpMyA

PHP7とPHP5を比較してみよう(3)

前回は配列について比較したけど今回はZendFramework、lar

PHP7とPHP5を比較してみよう(2)

前回予告したとおり、今回はPHP5の配列とPHP7の配列・配列に連想配

→もっと見る

PAGE TOP ↑