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 आइकन पर क्लिक करें। अपना डिवाइस चुनें और ऐप लॉन्च होने पर नेटवर्क कनेक्टिविटी बदलकर टोस्ट संदेश देखें।

