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 in Android by Edureka
• 12,390 points
44 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 by Edureka
• 10,880 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 in Android by Edureka
• 12,390 points
43 views
0 votes
0 answers

How do I make a splash screen?

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

Nov 9 in Android by Edureka
• 10,880 points
19 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 in Android by Edureka
• 12,390 points
19 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 in Android by Edureka
• 10,880 points
20 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 in Android by Edureka
• 10,880 points
14 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 in Android by Edureka
• 12,390 points
18 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 in Android by Edureka
• 10,880 points
49 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 in Android by Edureka
• 10,880 points
24 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 in Android by Edureka
• 10,880 points
43 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 in Android by Edureka
• 10,880 points
34 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