Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में बैटरी लेवल और स्टेट (चार्जिंग, डिस्चार्जिंग) कैसे प्राप्त करें

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 पर क्लिक करें। बैटरी प्रतिशत टेक्स्टव्यू में दिखेगा। चार्जर कनेक्ट/डिस्कनेक्ट करने पर टोस्ट मैसेज दिखाई देगा।

  1. Android में इंटरनेट से वर्तमान दिनांक और समय कैसे प्राप्त करें Android में इंटरनेट से वर्तमान दिनांक और समय कैसे प्राप्त करें

    परिचयडिवाइस का स्थानीय समय अविश्वसनीय हो सकता है। यह लेख एक सरल उदाहरण दिखाता है जहां बटन क्लिक पर वर्तमान दिनांक-समय प्रदर्शित किया जाता है (हालांकि यह उदाहरण वास्तव में डिवाइस के कैलेंडर का उपयोग करता है, इंटरनेट से नहीं; वास्तविक नेटवर्क समय के लिए NTP या समय API की आवश्यकता होती है)।कार्यान्वयनच

  1. एंड्रॉइड में डिवाइस ID कैसे प्राप्त करें और स्टोर करें? एंड्रॉइड में डिवाइस ID कैसे प्राप्त करें और स्टोर करें?

    एंड्रॉइड में डिवाइस ID (Android ID) प्राप्त करना और स्टोर करना एंड्रॉइड प्रत्येक डिवाइस के लिए एक यूनिक 64-बिट हेक्साडेसिमल स्ट्रिंग जेनरेट करता है जिसे **Android ID** (SSAID) कहते हैं। यह डिवाइस की पहली बूट पर बनता है और फैक्ट्री रीसेट तक समान रहता है। ध्यान दें: Android 8.0 (API 26) से प्रत्येक ऐप

  1. Android में वर्तमान स्थान की अक्षांश और देशांतर कैसे प्राप्त करें? Android में वर्तमान स्थान की अक्षांश और देशांतर कैसे प्राप्त करें?

    Android में GPS से वर्तमान लोकेशन (अक्षांश/देशांतर) प्राप्त करने का गाइड यह ट्यूटोरियल दिखाता है कि कैसे LocationManager, रनटाइम परमिशन और GPS प्रोवाइडर का उपयोग करके डिवाइस की वर्तमान लोकेशन प्राप्त की जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं।