发送端:
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); } } } }