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

Android में BroadcastReceiver का उपयोग कैसे करें?

Android में BroadcastReceiver का उपयोग

यह उदाहरण दर्शाता है कि Android में BroadcastReceiver का उपयोग करके सिस्टम-व्यापी ब्रॉडकास्ट इवेंट्स (जैसे WiFi स्थिति परिवर्तन) को कैसे सुना और संभाला जाए।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें और प्रोजेक्ट विवरण भरें।

चरण 2: लेआउट में Switch जोड़ें (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <Switch
        android:id="@+id/wifiSwitch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

</RelativeLayout>

चरण 3: MainActivity.java में BroadcastReceiver लागू करें

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    Switch wifiSwitch;
    WifiManager wifiManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        wifiSwitch = findViewById(R.id.wifiSwitch);
        wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

        wifiSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    wifiManager.setWifiEnabled(true);
                    wifiSwitch.setText("WiFi चालू है");
                } else {
                    wifiManager.setWifiEnabled(false);
                    wifiSwitch.setText("WiFi बंद है");
                }
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();
        IntentFilter intentFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION);
        registerReceiver(wifiStateReceiver, intentFilter);
    }

    @Override
    protected void onStop() {
        super.onStop();
        unregisterReceiver(wifiStateReceiver);
    }

    private BroadcastReceiver wifiStateReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            int wifiStateExtra = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
            switch (wifiStateExtra) {
                case WifiManager.WIFI_STATE_ENABLED:
                    wifiSwitch.setChecked(true);
                    wifiSwitch.setText("WiFi चालू है");
                    Toast.makeText(MainActivity.this, "WiFi चालू है", Toast.LENGTH_SHORT).show();
                    break;
                case WifiManager.WIFI_STATE_DISABLED:
                    wifiSwitch.setChecked(false);
                    wifiSwitch.setText("WiFi बंद है");
                    Toast.makeText(MainActivity.this, "WiFi बंद है", Toast.LENGTH_SHORT).show();
                    break;
            }
        }
    };
}

चरण 4: AndroidManifest.xml में अनुमतियाँ और रिसीवर जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.broadcastreceiver">

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <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>

ऐप चलाएं

डिवाइस कनेक्ट करें, Run आइकन दबाएं, और WiFi टॉगल करके BroadcastReceiver का परीक्षण करें।

Android में BroadcastReceiver का उपयोग कैसे करें?

Android में BroadcastReceiver का उपयोग कैसे करें?

  1. एंड्रॉइड में ViewFlipper का उपयोग कैसे करें? एंड्रॉइड में ViewFlipper का उपयोग कैसे करें?

    एंड्रॉइड में ViewFlipper के साथ व्यू फ्लिपिंग एनिमेशन यह ट्यूटोरियल ViewFlipper का उपयोग करके व्यूज़ के बीच एनिमेटेड ट्रांजिशन बनाने का तरीका दिखाता है, जिसमें ऑटो-फ्लिपिंग और मैनुअल नेविगेशन शामिल है। लेआउट (activity_main.xml) <RelativeLayout xmlns:android=https://schemas.android.com/apk/res/an

  1. Android में Snackbar का उपयोग कैसे करें? Android में Snackbar का उपयोग कैसे करें?

    परिचय Snackbar Material Design का एक घटक है जो स्क्रीन के निचले भाग में एक संक्षिप्त संदेश दिखाता है। यह उदाहरण Snackbar के बुनियादी उपयोग और अनुकूलन को दर्शाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.

  1. Android में NavigationView (नेविगेशन ड्रॉअर) कैसे उपयोग करें? Android में NavigationView (नेविगेशन ड्रॉअर) कैसे उपयोग करें?

    परिचय NavigationView मटेरियल डिज़ाइन का साइड नेविगेशन ड्रॉअर (हैमबर्गर मेनू) है। यह DrawerLayout के अंदर होता है और मेनू आइटम्स, हेडर, और नेविगेशन हैंडलिंग प्रदान करता है। यह ट्यूटोरियल Navigation Components के साथ आधुनिक सेटअप दिखाता है। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं Android Studio में Fi