Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android開発】バッテリーの残量と状態を取得する方法を解説

はじめに

本記事では、Androidアプリでバッテリーの残量(レベル)と状態を取得する方法を、実際のコード例を交えてわかりやすく解説します。バッテリー情報の取得には、システムサービス「BatteryManager」を使用します。


手順1:新しいプロジェクトを作成する

まず、Android Studioで新しいプロジェクトを作成しましょう。メニューから「File → New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成します。


手順2:レイアウトファイル(activity_main.xml)を編集する

次に、res/layout/activity_main.xml に以下のコードを追加します。

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
   android:id = "@+id/parent"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:layout_height = "match_parent"
   tools:context = ".MainActivity"
   android:gravity = "center"
   android:orientation = "vertical">
   <TextView
      android:id = "@+id/text"
      android:textSize = "18sp"
      android:textAlignment = "center"
      android:text = "batter percentage"
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content" />
</LinearLayout>

このコードでは、画面中央にTextViewを1つ配置しています。ここに取得したバッテリー残量のパーセンテージが表示されます。


手順3:MainActivity.java にコードを追加する

続いて、src/MainActivity.java に以下のコードを記述します。

package com.example.andy.myapplication;
import android.os.BatteryManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
   int view = R.layout.activity_main;
   TextView text;
   @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(view);
      text = findViewById(R.id.text);
      BatteryManager bm = (BatteryManager)getSystemService(BATTERY_SERVICE);
      if (android.os.Build.VERSION.SDK_INT > = android.os.Build.VERSION_CODES.LOLLIPOP) {
         int percentage = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
         text.setText("Battery Percentage is "+percentage+" %");
    }
}

ポイントは、BatteryManagerシステムサービスを利用している点です。バッテリー残量を取得しているのは、以下の部分になります。

BatteryManager bm = (BatteryManager)getSystemService(BATTERY_SERVICE);
if (android.os.Build.VERSION.SDK_INT > = android.os.Build.VERSION_CODES.LOLLIPOP) {
   int percentage = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
   text.setText("Battery Percentage is "+percentage+" %");
}

コードの内容を簡単に説明します。

  • getSystemService(BATTERY_SERVICE):システムからBatteryManagerのインスタンスを取得します。
  • BATTERY_PROPERTY_CAPACITY:バッテリー残量を整数値(0〜100)で取得できるプロパティです。
  • SDK_INTのチェック:このAPIはAndroid 5.0(LOLLIPOP/API 21)以降でしか使えないため、端末のAPIレベルを確認してから呼び出しています。

アプリケーションを実行してみよう

それでは、実際にアプリを動かしてみましょう。ここでは、実機のAndroidスマートフォンがPCに接続されているものとして説明します。

Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーの実行(Run)アイコンをクリックしてください。表示された選択肢の中から接続中のモバイルデバイスを選ぶと、実機の画面にアプリが起動し、以下のように表示されます。

【Android開発】バッテリーの残量と状態を取得する方法を解説

上記の実行結果では、起動直後の画面にバッテリー残量が「100%」と表示されていることが確認できます。このように、BatteryManagerを使えば数行のコードで簡単にバッテリー残量を取得できます。

  1. 【完全ガイド】iPhone・Androidで中国版TikTok「抖音(Douyin)」を入手する方法

    TikTokは、短い動画を投稿してファンベースを築ける人気プラットフォームです。リリース直後から世界中で爆発的な人気を博しましたが、その一方で、曖昧なプライバシーポリシーやユーザーデータ保護の不備が批判を集め、インド、アメリカ、バングラデシュなど複数の国で利用が禁止されました。それでもTikTokのファンは諦めず、スマートフォンにアプリをインストールする方法を探し続けています。 実はあまり知られていないのですが、「抖音(Douyin/ドウイン)」と呼ばれる中国版TikTokを代わりにインストールすることができます。この記事では、iOSおよびAndroidデバイスで中国版TikTok(Douy

  2. AndroidでBluetoothデバイスのバッテリー残量を確認する方法

    技術の進歩に伴い、さまざまなデバイスがワイヤレス化しています。以前はオーディオの再生やファイルの転送にケーブルが必要でしたが、今ではBluetoothデバイスでの音楽視聴や、デバイス間のワイヤレスファイル転送など、すべてをケーブルなしで簡単に行えるようになりました。 近年、Bluetoothデバイスの利用はますます増えています。Bluetoothデバイスは、Androidスマホと接続して使う前に充電が必要です。Android 8.1以降のバージョンでは、接続中のBluetoothデバイスのバッテリー残量(パーセンテージ)が表示されます。しかし、それより前のバージョンでは、接続したBlueto