Вызовите метод действия из BroadcastReceiver.Является ли это возможным? - PullRequest
6 голосов
/ 24 февраля 2011

Я застрял в разработке приложения, потому что мне нужно вызывать метод моей деятельности при запуске BroadcastReceiver.Я хочу, чтобы BroadcastReceiver обнаружил, когда разрывается сетевое соединение, и вызвал метод моей деятельности, который я уже написал.

Я искал и обнаружил, что больше людей спрашивали об этом раньше, но никто не получилответ о том, как это сделать.

Я думаю, что, возможно, API Android не позволяет этого.Если невозможно вызвать метод моей деятельности из BroadcastReceiver, есть ли другие способы сделать это?

Спасибо.

1 Ответ

9 голосов
/ 24 февраля 2011

Попробуйте что-то вроде этого ..

В вашем коде активности напишите

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"));

А в вашем сервисе напишите

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

Если возникнет путаница, дайте мне знать, я постараюсь решить ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...