Programmatically register a broadcast receiver

0 votes
What is the best procedure or method for registering a broadcast receiver programmatically? I want to register particular receivers based on user preference.

Since registration is handled by the manifest file, I'm unsure of the best approach to accomplish this in code.
Nov 10, 2022 in Android by Edureka
• 13,620 points
889 views

1 answer to this question.

0 votes

This example shows how to programmatically register a BroadcastReceiver in Android.

Step 1 − Create a new project in Android Studio by selecting File > New Project and entering all the necessary information.

Step 2 − Add the following code to res/layout/activity_main.xml.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://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>

Step 3 − Add the following code to 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 {
   ExampleBroadcastReceiver exampleBroadcastReceiver = new ExampleBroadcastReceiver();
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
   protected void onStart(){
      super.onStart();
      IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
      registerReceiver(exampleBroadcastReceiver, filter);
   }
   @Override
   protected void onStop(){
      super.onStop();
      unregisterReceiver(exampleBroadcastReceiver);
   }
}

Step 4 – Add the following code to exampleBroadcastReceiver.java and create a new Java class.

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.widget.Toast;
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, "Disconnected", Toast.LENGTH_SHORT).show();
         } else {
            Toast.makeText(context, "Connected", Toast.LENGTH_SHORT).show();
         }
      }
   }
}

Step 5 - Add the following code to androidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://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>
answered Nov 10, 2022 by Edureka
• 12,690 points

Related Questions In Android

0 votes
0 answers

How do I turn a C# object into a JSON string in .NET?

I have classes like these: class MyDate { ...READ MORE

Sep 20, 2022 in Android by Edureka
• 13,620 points
256 views
0 votes
0 answers

How do I make a splash screen?

I added a splash screen because I ...READ MORE

Nov 9, 2022 in Android by Edureka
• 12,690 points
248 views
0 votes
0 answers

"Parse Error : There is a problem parsing the package" while installing Android application

While installing the Android application, I encountered ...READ MORE

Nov 15, 2022 in Android by Edureka
• 13,620 points
389 views
0 votes
0 answers

How to get the device's IMEI/ESN programmatically in android?

I want to use the IMEI to ...READ MORE

Nov 16, 2022 in Android by Edureka
• 12,690 points
974 views
0 votes
0 answers

What do I have to do with the A Href link?

How do I set up the anchor ...READ MORE

Nov 16, 2022 in Android by Edureka
• 12,690 points
279 views
0 votes
0 answers

view-source of a web link in android

I trying to load "view-source:http://goo.gl/lEYQQf" link in webview. If ...READ MORE

Nov 17, 2022 in Android by Edureka
• 13,620 points
493 views
0 votes
0 answers

How to define a circle shape in an Android XML drawable file?

I'm having some trouble locating the Android ...READ MORE

Nov 22, 2022 in Android by Edureka
• 12,690 points
1,725 views
0 votes
0 answers

Android - How to download a file from a webserver

I'm getting a kml file from a ...READ MORE

Nov 22, 2022 in Android by Edureka
• 12,690 points
526 views
0 votes
1 answer

How to turn on front flash light programmatically in Android?

For this problem you should: Check whether the ...READ MORE

answered Nov 8, 2022 in Android by Edureka
• 12,690 points
1,176 views
0 votes
1 answer

Android: When should I use a Handler() and when should I use a Thread?

Because Chrome V8 is a JavaScript engine, ...READ MORE

answered Nov 10, 2022 in Android by Edureka
• 12,690 points
559 views
webinar REGISTER FOR FREE WEBINAR X
REGISTER NOW
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP