Search code examples
androidandroid-activitybroadcastreceiver

Information from BroadcastReceiver to specific Activity via external class


I have "ComposeActivity" which calls the "SendSMS" method after onClick, which than calls metod in SMS class. I had also registered two BroadcastReceiver: SmsDeliveredReceiver and SmsSentReceiver, similar to: https://stackoverflow.com/a/17164931/1888738. How can I inform ComposeActivity, that sms was succesfullly sent, and that activity can clean some EditText's, and maybe show crouton with information that sms was sent or not(and why)? My codes: http://pastebin.com/LNRuSeBu


Solution

  • Ok, after 5 hours of trying, I've already solved this:

    in BroadcastReceiver in onReceive:

    Intent intent = new Intent();
    intent.setAction("SOMEACTION");
    context.sendBroadcast(intent);
    

    in Activity:

    public BroadcastReceiver receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (action.equals("SOMEACTION")) {
                Log.d(TAG, "Sent");
            }
        }
    };
    

    and in onCreate Activity I registered BroadcastReceiver:

    registerReceiver(receiver, new IntentFilter("SOMEACTION"));
    

    Thats all...