Android में BatteryManager का उपयोग करके बैटरी जानकारी प्राप्त करना
यह उदाहरण दर्शाता है कि BroadcastReceiver और BatteryManager का उपयोग करके बैटरी प्रतिशत, चार्जिंग स्टेट (चार्जिंग, डिस्चार्जिंग, फुल, प्लग्ड इन) कैसे प्राप्त करें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें और प्रोजेक्ट बनाएं।
चरण 2: लेआउट में TextView जोड़ें
res/layout/activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16sp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
चरण 3: MainActivity.java - बैटरी ब्रॉडकास्ट रिसीवर
import androidx.appcompat.app.AppCompatActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
TextView textView;
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = getApplicationContext();
textView = findViewById(R.id.textView);
// बैटरी चेंज ब्रॉडकास्ट के लिए रिसीवर रजिस्टर करें
this.registerReceiver(this.broadcastReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// बैटरी लेवल (0-100)
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
textView.setText("बैटरी प्रतिशत: " + level + "%");
// बैटरी स्टेटस
int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL;
if (isCharging) {
Toast.makeText(getApplicationContext(), "चार्जर कनेक्टेड, बैटरी चार्ज हो रही है..", Toast.LENGTH_SHORT).show();
} else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) {
Toast.makeText(getApplicationContext(), "चार्जर डिस्कनेक्टेड", Toast.LENGTH_SHORT).show();
}
}
};
}
चरण 4: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
मुख्य BatteryManager एक्स्ट्रा
| कॉन्स्टेंट | विवरण |
|---|---|
| EXTRA_LEVEL | वर्तमान बैटरी लेवल (0-100) |
| EXTRA_SCALE | अधिकतम बैटरी लेवल |
| EXTRA_STATUS | चार्जिंग स्टेटस |
| EXTRA_HEALTH | बैटरी हेल्थ (गुड, ओवरहीट, डेड, आदि) |
| EXTRA_TEMPERATURE | बैटरी तापमान (डिग्री सेल्सियस × 10) |
| EXTRA_VOLTAGE | बैटरी वोल्टेज (mV) |
| EXTRA_PLUGGED | प्लग टाइप (AC, USB, वायरलेस) |
| EXTRA_TECHNOLOGY | बैटरी टेक्नोलॉजी (Li-ion, Li-poly, आदि) |
बैटरी स्टेटस कॉन्स्टेंट
BATTERY_STATUS_CHARGING- चार्ज हो रहा हैBATTERY_STATUS_DISCHARGING- डिस्चार्ज हो रहा हैBATTERY_STATUS_FULL- फुल चार्जBATTERY_STATUS_NOT_CHARGING- चार्ज नहीं हो रहाBATTERY_STATUS_UNKNOWN- अज्ञात
ऐप चलाएं
डिवाइस कनेक्ट करें, Run पर क्लिक करें। बैटरी प्रतिशत टेक्स्टव्यू में दिखेगा। चार्जर कनेक्ट/डिस्कनेक्ट करने पर टोस्ट मैसेज दिखाई देगा।