Android 安卓本地广播不';收不到

Android 安卓本地广播不';收不到,android,localbroadcastmanager,Android,Localbroadcastmanager,我想将简单sata从一个活动发送到另一个活动。这两个项目当时都处于活动状态,我已经注册了LocalBroadcastManager。发送部分工作,但是接收活动没有得到任何东西。 BroadcastManager发送数据部分代码: myButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { LocalBr

我想将简单sata从一个活动发送到另一个活动。这两个项目当时都处于活动状态,我已经注册了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));

但仍然没有收到任何东西。有什么帮助吗?

请删除此行,然后重试


broadcastIntent.setAction(“test,test”);

您正在Intent构造函数中设置操作:

 Intent broadcastIntent = new Intent(BROADCAST_INTENT);
但两行之后,您将覆盖它:

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

您只能执行一个操作,以使意图丢失。

好的,我终于发现了问题:我在onStop()中注销了BroadcastReceiver,这导致ReceiceReceive在转到第二个活动(尤其是发件人)后停止接收。谢谢大家。