Android: как отправить объект из BroadcastReceiver для запуска Activity - PullRequest
1 голос
/ 08 февраля 2012

У меня есть класс, который расширяет BroadcastReceiver, который читает новые смс

public class SmsReceiver extends BroadcastReceiver
{
   // reading sms
   // I want to send the sms text to my main activity
}

И есть другой класс в том же приложении, которое является моим основным Activity. Поэтому, когда я получаю новые смс-сообщения, я хочу отправить их содержимое в мою основную активность, которая уже выполняется, и отобразить ее. Как я могу это сделать? Я был бы благодарен за некоторые примеры кода:)

1 Ответ

1 голос
/ 08 февраля 2012

Я могу предложить вам две возможности

  1. отправлять новые трансляции с этого получателя на новый получатель, который зарегистрирован в вашей деятельности
  2. зарегистрируйте этот приемник в своей деятельности и уменьшите хлопоты

я думаю, что второй вариант больше подходит

это то, как вы можете зарегистрировать приемник вещания в вашем классе активности:

IntentFilter filter = new IntentFilter();

public void onResume(){
    filter.addAction("action_string_1");
    filter.addAction("action_string_2");

    registerReceiver(receiver, filter);
}

public void onPause(){
    unregisterReceiver(receiver);
}

BroadcastReceiver receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();

            if(action.equals("action_string_1")){
                //do something here
            }
            else if(action.equals("action_string_2")){
                //do somethign here
            }
        }
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...