首页 > 代码库 > 简单的广播发送与接收

简单的广播发送与接收

发送端:

 public class MainActivity extends Activity { //先在布局文件main.xml中定义一个Button/*  *   * <Button  *  android:layout_width="fill_parent"   *  android:layout_height="wrap_content"  *  android:text="@string/button_send"  *  android:id="@+id/send_broadcast_button"  *  />  *   */private Button send_broadcast_button; @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        send_broadcast_button = (Button) this.findViewById(R.id.send_broadcast_button);        send_broadcast_button.setOnClickListener(new SendBroadcast());    }private class SendBroadcast implements View.OnClickListener {  @Override  public void onClick(View v) {      Intent intent = new Intent();   intent.setAction("cn.abel.action.broadcast");      //要发送的内容   intent.putExtra("author", "Abel");      //发送 一个无序广播   MainActivity.this.sendBroadcast(intent);  }  }}

 

接收端:

public class MainActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        IntentFilter intentFilter = new IntentFilter();        intentFilter.addAction("cn.abel.action.broadcast");        this.registerReceiver(new MyBroadcastReciver(), intentFilter);    }    private class MyBroadcastReciver extends BroadcastReceiver {  @Override  public void onReceive(Context context, Intent intent) {   String action = intent.getAction();   if(action.equals("cn.abel.action.broadcast")) {    String author = intent.getStringExtra("author");        //在控制台显示接收到的广播内容    System.out.println("author==>"+author);        //在android端显示接收到的广播内容    Toast.makeText(MainActivity.this, author, 1).show();        //在结束时可取消广播    //MainActivity.this.unregisterReceiver(this);   }  }         }}