Локальная трансляция Android не получает - PullRequest
0 голосов
/ 01 июля 2018

Я хочу отправить простую сату из одного занятия другому. Оба активны в то время, и я зарегистрировал LocalBroadcastManager. отправляющая часть работает, но принимающая деятельность ничего не получает. BroadcastManager отправляет данные части кода:

myButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LocalBroadcastManager broadcaster = LocalBroadcastManager.getInstance(SendingDataPageActivity.this);
            Intent broadcastIntent = new Intent(BROADCAST_INTENT);
            broadcastIntent.putExtra("test, "test");
            broadcastIntent.setAction("test, "test");
            broadcaster.sendBroadcast(broadcastIntent);
            Log.d(TAG, "Broadcast sent..."); });

А для приемника:

public class RecievingDataPageActivity extends AppCompatActivity{
BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d(TAG, "local broadcaster received...");}};

Я зарегистрировал его в OnCreate:

LocalBroadcastManager.getInstance(this).registerReceiver((receiver),
            new IntentFilter(BROADCAST_INTENT));

Но все равно ничего не получает. Любая помощь?

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Вы устанавливаете свое действие в конструкторе Intent:

 Intent broadcastIntent = new Intent(BROADCAST_INTENT);

Но через 2 строки вы переопределяете это:

  broadcastIntent.setAction("test", "test");

У вас может быть только одно действие, поэтому намерение теряется.

0 голосов
/ 01 июля 2018

Удалите эту строку и попробуйте снова.

broadcastIntent.setAction ("test," test ");

...