我有一个问题,我现在正在研究几个小时。
我只想将广播从一个活动发送到另一个活动。我通过以下方式发送活动A的广播:
Intent i = new Intent("test");
i.setAction("testaction");
sendBroadcast(i);
并在活动B中通过以下方式接收:
private BroadcastReceiver updateGUIReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("test", "test")
intent.getAction().equals(("testaction")){
...
}
}
}
....
registerBroadcastreceiver(updateGUIReceiver);
但如果指定动作,接收器永远不会被调用。 如果我没有(取消注释setaction),则不会收到广播,也不会附加附加内容,并且效果非常好。
答案 0 :(得分:1)
在您的接收器活动中,更改行
registerBroadcastreceiver(updateGUIReceiver);
到
IntentFilter filter = new IntentFilter();
filter.addAction("testaction");
registerReceiver(updateGUIReceiver, filter);
希望这有帮助! :d