Android:指定操作时未收到广播

标签 android broadcastreceiver

我已经研究了几个小时了。

我只想从一个 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/

相关文章:

Android 展示模式 --> 检测用户不活动

broadcastreceiver - Google Analytics for Android v4 - 在 BroadcastReceiver 上发送事件

android - 开机后如何使用broadcastreceivers自动启动服务?

java - 在 Android 中阻止调用

Android 7,8 和 Oxygen OS : Broadcast Receiver not working if app is killed

android - 如何在android中将数据从一个 fragment 传递到另一个 fragment ?

java - 在 Android 上创建视频文件

android 库项目和 Activity

android - 如何在proguard中添加vitamio?

android - 当应用程序在后台时,广播接收器在前台打开 Activity ?