android - How to get battery status programmatically

activity_main.xml
 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:padding="16dp"     tools:context=".MainActivity"     android:background="#e7e6ff"     >     <TextView         android:id="@+id/tv"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:textSize="30dp"         android:textColor="#000"         /> </RelativeLayout> 
MainActivity.java
 package com.cfsuman.me.androidcode;  import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Window; import android.widget.TextView; import android.widget.Toast;   public class MainActivity extends AppCompatActivity {     private Context mContext;     private TextView mTextView;      // Initialize a new BroadcastReceiver instance     private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {         @Override         public void onReceive(Context context, Intent intent) {             Toast.makeText(mContext, "Received", Toast.LENGTH_SHORT).show();              /*                 BatteryManager                     The BatteryManager class contains strings and constants used for values in the                     ACTION_BATTERY_CHANGED Intent, and provides a method for querying battery                     and charging properties.             */             /*                 public static simpulan String EXTRA_STATUS                     Extra for ACTION_BATTERY_CHANGED: integer containing the current                     status constant.                      Constant Value: "status"             */              // Get the battery status indicator integer value             int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,-1);              // Initialize a new String to hold battery status             String statusString = "";              // Determine the battery status from the return integer value             if(status == BatteryManager.BATTERY_STATUS_UNKNOWN){                 /*                     public static simpulan int BATTERY_STATUS_UNKNOWN                         Constant Value: 1 (0x00000001)                 */                 statusString = "UNKNOWN";             }else if(status == BatteryManager.BATTERY_STATUS_CHARGING){                 /*                     public static simpulan int BATTERY_STATUS_CHARGING                         Constant Value: 2 (0x00000002)                 */                 statusString = "CHARGING";             }else if(status == BatteryManager.BATTERY_STATUS_DISCHARGING){                 /*                     public static simpulan int BATTERY_STATUS_DISCHARGING                         Constant Value: 3 (0x00000003)                 */                 statusString = "DISCHARGING";             }else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING){                 /*                     public static simpulan int BATTERY_STATUS_NOT_CHARGING                         Constant Value: 4 (0x00000004)                 */                 statusString = "NOT CHARGING";             }else if (status == BatteryManager.BATTERY_STATUS_FULL){                 /*                     public static simpulan int BATTERY_STATUS_FULL                         Constant Value: 5 (0x00000005)                 */                 statusString = "FULL";             }              // Display the battery status in TextView             mTextView.setText("Battery Status : " + statusString);         }     };      @Override     protected void onCreate(Bundle savedInstanceState) {         // Request window feature action kafetaria         requestWindowFeature(Window.FEATURE_ACTION_BAR);         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);          // Get the application context         mContext = getApplicationContext();          // Initialize a new IntentFilter instance         IntentFilter iFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);          // Register the broadcast receiver         mContext.registerReceiver(mBroadcastReceiver,iFilter);          // Get the widgets reference from XML layout         mTextView = (TextView) findViewById(R.id.tv);     } } 
More android examples

Komentar