Jimix
Jimix

Reputation: 1549

Call an activity method from a BroadcastReceiver. Is it possible?

I'm stuck developing an app because I need to call a method of my activity when a BroadcastReceiver is triggered. I want the BroadcastReceiver to detect when a network connection goes down and call a method of my activity which I've already written.

I've been searching and I found that more people had asked this before but nobody got an answer about how to do it.

I think that maybe android's API doesn't allow it. If it's impossible to call a method of my activity from the BroadcastReceiver are there other ways to do this?

Thanks.

Upvotes: 6

Views: 5471

Answers (1)

Jignesh Dhua
Jignesh Dhua

Reputation: 1482

Try something like this..

In you activity code write

BroadcastReceiver connectionReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            myActivityMethod();// Here you call method
        }
    };

    registerReceiver(connectionReceiver, new IntentFilter("com.test.NET_CONNECTION"));

And in your service write

Intent intent = new Intent("com.test.NET_CONNECTION");
        sendBroadcast(intent);

If any confusion let me know i'll try to solve..

Upvotes: 9

Related Questions