如何在两个活动之间发送广播?

时间:2014-08-25 12:00:59

标签: android broadcast

我想通过广播将数据从one.class发送到two.class,我需要使用DYNAMIC寄存器。 我不想使用意图。

在我的MainActivity中:

  Intent intent = new Intent(action);     

    intent.putExtra("msg", "a");        
    sendBroadcast(intent);  
    startActivity(new Intent(MainActivity.this,sec.class)); 

在我的接收器活动中:

IntentFilter intentFilter = new IntentFilter(MainActivity.action);

    registerReceiver(receiver, intentFilter);

        // TODO Auto-generated method stub
    }
    BroadcastReceiver receiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {


            tv1.setText(intent.getExtras().getString("msg"));  

        }
          }; 

但是tv1没有显示任何内容

4 个答案:

答案 0 :(得分:0)

您应该在清单中使用意图过滤器并获得对活动的意图

选中此What are intent-filters in Android?

答案 1 :(得分:0)

这是两种不同的活动吗?你可以使用套接字。

答案 2 :(得分:0)

尝试localbroadcast接收器。按照本教程,它将有所帮助,请查看(在此页面上定义自定义事件和接收器) http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html

答案 3 :(得分:0)

您可以将Bundles放入startingIntent:

Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("asd",12345);
startActivity(intent);

并在NewActivity中抓住它:

Bundle extras = intent.getExtras();
int value = extras.getInt("asd");