Передача данных из Activity в BroadcastReceiver - PullRequest
2 голосов
/ 17 февраля 2012

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

Есть ли способ передать префикс (строковую переменную) в BroadcastReceiver?

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

Это мой код для регистрации BroadcastReceiver

PackageManager pm  = getApplicationContext().getPackageManager();
ComponentName componentName = new componentName(MyActivity.this,MyBroadcastReceiver.class);
pm.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP);

Пожалуйста, помогите мне в этом.

Ответы [ 5 ]

5 голосов
/ 17 февраля 2012

Через намерение вы можете сделать это -

Проходной класс -

Intent i = new Intent(passing.this, received.class);
Bundle b = new Bundle();
b.putString("keyvalue", "yourprefixvalue");
i.putExtras(b);
startActivity(i);

Полученный класс -

В вашем широковещательном приемнике класс содержит onReceive метод и аргументы намерения. Чтобы его можно было использовать для получения значения результата из пакета.

@Override
public void onReceive(Context context, Intent intent) 
{
    String result = intent.getString("keyvalue");
    // your method
}

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

2 голосов
/ 13 декабря 2012
intent = new Intent(getBaseContext(), AlarmReceiver.class);
intent.putExtra("keyvalue",getmessage);

// getmessage - строковое значение

в ожидаемом намерении, вы должны использовать ниже line- PendingIntent.FLAG_CANCEL_CURRENT);

В широковещательном приемнике

 String message = context.getStringExtra("keyvalue");

Используя это, я передаю данные с активности на широковещательный приемник.

Надеюсь, это полезно

2 голосов
/ 17 февраля 2012

Используя Intent, мы можем передавать данные с активности на широковещательный приемник.

intent.getExtras().get("testString");
1 голос
/ 17 февраля 2012

Через намерение вы можете передать строковое значение приемнику вещания

0 голосов
/ 24 июля 2014

У меня такая же проблема, я регистрирую свой широковещательный приемник в файле mainfest, но не знаю, как передать номер предварительной фиксации в мой широковещательный приемник.Кто-нибудь знает, как это сделать?

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