0

I am doing an app which will speak the caller name.It is having a main Activity and two broadcast receivers for monitoring incoming calls and SMS. from that receivers it starts an service for speak out the caller name.

The Problem I am facing with this is

  I want to start ans stop this broadcast receivers from the UI.i mean with the help of two buttons.

Is it possible,If yes how can I do it?

BenMorel
  • 34,448
  • 50
  • 182
  • 322
ammukuttylive
  • 365
  • 2
  • 6
  • 15

2 Answers2

0

Sure. When you want to start it, call registerReceiver. When you want it off, call unregisterReceiver.

Gabe Sechan
  • 90,003
  • 9
  • 87
  • 127
0

Register Receiver on Button Click:

YourReceiver mReceiver ;
btnRegister.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                                  IntentFilter filter = new IntentFilter(your action filter);
                     mReceiver = new YourReceiver();
                                 registerReceiver(mReceiver, filter);
    }
});

Unregistered receiver :

 btnRegister.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
try
        {

            unregisterReceiver(mReceiver);
        }catch(IllegalArgumentException ex)
        {
            //your message.
        }
    }
});

Hope this helps...

Piyush
  • 2,589
  • 6
  • 38
  • 77