Получить данные об основной активности из BroadcastReceiver - PullRequest
0 голосов
/ 06 июня 2019

Я прочитал много похожих вопросов, но не могу понять, как это сделать. У меня есть MainActivity с этим кодом:

  MyBroadcastReceiver broad = new MyBroadcastReceiver();
          broad.onReceive(context, new Intent("api6.intent.action.TRANSACTION_COMPLETED"));

Затем в MyBroadcastReceiver, классе, отличном от основного, у меня есть:

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (Intents.ACTION_TRANSACTION_COMPLETED.equals(action)) {
            if (intent.getExtras() != null) {
                String txid = String.valueOf(intent.getExtras().get(Intents.INTENT_EXTRAS_TRANSACTION_ID));
            } 
        }
    }
}

Мне нужна строка Stx в MainActivity сразу после этой строки:

         broad.onReceive(context, new Intent("api6.intent.action.TRANSACTION_COMPLETED"));

1 Ответ

0 голосов
/ 06 июня 2019

вы можете достигнуть многими способами, либо написав широковещательный класс внутри класса MainActivity или использовать интерфейс, реализовать его внутри MainActivity

Например

MA extends AppCompat implements AnInterface{

onCreate(){

broadcast = new YourBroadcastClass(this);
}

@override
public void interfaceMethod(String value){
}

и внутри вашего конструктора класса вещания

> AndInterface interface; MyBroad(AnInterface interface){ this.interface
> = interface; }
> 
> and onReceive(){ interface.interfaceMethod("whatever you wanna send")
...