1. 效果图

2. 代码

  1. 布局文件

 <Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn1" >
</Button> <Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn2" >
</Button> <Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn3" >
</Button>

main.xml

public class firstActivity extends Activity {
public static final String MY_ACTION = "iflab.test.MY_ACTION"; // 自定义ACTION
myReceiver receiver; // myReceiver对象 @Override
public void onCreate(Bundle savedInstanceState) { // 重载onCreate方法
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn1 = (Button) findViewById(R.id.button1); // 获取ID
Button btn2 = (Button) findViewById(R.id.button2);
Button btn3 = (Button) findViewById(R.id.button3);
btn1.setOnClickListener(new View.OnClickListener() { // 设置监听器 @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(); // Intent对象
intent.setAction(MY_ACTION); // 设置Action
intent.putExtra("message", "来自于广播的消息!"); // 设置广播的消息
sendBroadcast(intent); // 发送广播
}
});
btn2.setOnClickListener(new View.OnClickListener() { // 设置监听器 @Override
public void onClick(View v) {
// TODO Auto-generated method stub
IntentFilter filter = new IntentFilter("iflab.test.MY_ACTION");
receiver = new myReceiver();
registerReceiver(receiver, filter); // 注册广播接收器
}
});
btn3.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub unregisterReceiver(receiver); // 销毁广播接收器
}
});
} }

firstActivity

public class myReceiver extends BroadcastReceiver{

    @Override
public void onReceive(Context arg0, Intent arg1) { //重载onReceive方法
// TODO Auto-generated method stub
String str;
str="接收到的广播消息为:"+arg1.getStringExtra("message"); //接收消息
Toast.makeText(arg0, str,Toast.LENGTH_LONG).show(); //显示
}
}

myReceiver

  <receiver android:name="myReceiver" >
<intent-filter>
</intent-filter>
</receiver>

配置文件

3. 提示

  没有注册广播接收器的时候不要点击销毁广播接收器   会停止运行  也算是一个小小的BUG吧  需要的用户自己进行一些操作

05-11 19:32