我已经研究了几个小时了。
我只想从一个 Activity 向另一个 Activity 发送广播。我通过以下方式从 Activity A 发送广播:
Intent i = new Intent("test");
i.setAction("testaction");
sendBroadcast(i);
并通过以下方式在 Activity B 中接收它:
private BroadcastReceiver updateGUIReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("test", "test")
intent.getAction().equals(("testaction")){
...
}
}
}
....
registerBroadcastreceiver(updateGUIReceiver);
但是如果我指定了 Action ,接收者永远不会被调用。 如果我不这样做(取消对 setaction 的注释),则不会收到广播,也不会收到附加的附加内容,并且效果很好。
最佳答案
在您的接收器 Activity 中,更改行
registerBroadcastreceiver(updateGUIReceiver);
到
IntentFilter filter = new IntentFilter();
filter.addAction("testaction");
registerReceiver(updateGUIReceiver, filter);
希望对您有所帮助! :D
关于Android:指定操作时未收到广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24335389/