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
  • 31,815
  • 47
  • 169
  • 296
ammukuttylive
  • 375
  • 2
  • 6
  • 15

2 Answers2

0

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

Gabe Sechan
  • 84,451
  • 9
  • 82
  • 121
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,539
  • 6
  • 37
  • 77