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

Android में BroadcastReceiver को प्रोग्रामेटिकली कैसे रजिस्टर करें?

Android में प्रोग्रामेटिकली BroadcastReceiver रजिस्टर करना

यह उदाहरण दर्शाता है कि Android ऐप में BroadcastReceiver को कोड के माध्यम से (प्रोग्रामेटिकली) कैसे रजिस्टर किया जाता है। यह दृष्टिकोण तब उपयोगी होता है जब आप रनटाइम पर डायनामिकली ब्रॉडकास्ट सुनना चाहते हैं, जैसे नेटवर्क कनेक्टिविटी परिवर्तन।

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

Android Studio खोलें, File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फ़ाइल कॉन्फ़िगर करें (res/layout/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">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World"
        android:layout_centerInParent="true"/>

</RelativeLayout>

चरण 3: MainActivity में रिसीवर रजिस्टर करें (src/MainActivity.java)

import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    private ExampleBroadcastReceiver exampleBroadcastReceiver = new ExampleBroadcastReceiver();

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

    @Override
    protected void onStart() {
        super.onStart();
        // कनेक्टिविटी परिवर्तन के लिए इंटेंट फिल्टर बनाएं
        IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
        // रिसीवर रजिस्टर करें
        registerReceiver(exampleBroadcastReceiver, filter);
    }

    @Override
    protected void onStop() {
        super.onStop();
        // मेमोरी लीक रोकने के लिए रिसीवर अनरजिस्टर करें
        unregisterReceiver(exampleBroadcastReceiver);
    }
}

चरण 4: BroadcastReceiver क्लास बनाएं (ExampleBroadcastReceiver.java)

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.widget.Toast;

public class ExampleBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) {
            boolean noConnectivity = intent.getBooleanExtra(
                ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);

            if (noConnectivity) {
                Toast.makeText(context, "डिस्कनेक्टेड", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(context, "कनेक्टेड", Toast.LENGTH_SHORT).show();
            }
        }
    }
}

चरण 5: 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>

ऐप चलाएं

अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फ़ाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना डिवाइस चुनें और ऐप लॉन्च होने पर नेटवर्क कनेक्टिविटी बदलकर टोस्ट संदेश देखें।

Android में BroadcastReceiver को प्रोग्रामेटिकली कैसे रजिस्टर करें?

Android में BroadcastReceiver को प्रोग्रामेटिकली कैसे रजिस्टर करें?

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

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

  1. Android में इनकमिंग कॉल को प्रोग्रामेटिकली कैसे उठाएं? Android में इनकमिंग कॉल को प्रोग्रामेटिकली कैसे उठाएं?

    Android में इनकमिंग कॉल प्रोग्रामेटिकली उठाना ⚠️ महत्वपूर्ण चेतावनी: Android 4.1 (API 16) से, थर्ड-पार्टी ऐप्स प्रोग्रामेटिकली कॉल नहीं उठा सकते। यह सुरक्षा प्रतिबंध है। केवल सिस्टम ऐप्स या डिफॉल्ट डायलर (CALL_PRIVILEGED परमिशन के साथ) ऐसा कर सकते हैं। इतिहास और वर्तमान स्थिति Android वर्जनकॉल उठा

  1. Android ऐप को प्रोग्रामेटिकली कैसे बंद करें? Android ऐप को प्रोग्रामेटिकली कैसे बंद करें?

    यह उदाहरण दर्शाता है कि Android ऐप को बटन क्लिक पर प्रोग्रामेटिकली कैसे बंद किया जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=https://schemas