BroadcastReceiver 用于就收程序(系统内建程序或用户开发程序)所发出的Broadcase Intent 。BroadcaseReceiver是一个监听器,实现该监听器的功能需要实现重写该类的onReceiver(Context context,Intent,intent)。
MianActivity代码
Button send;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
send=(Button)findViewById(R.id.bn);
send.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setAction("org.ca.action.BROADCAST");
intent.putExtra("msg","simple massage");
sendBroadcast(intent);
}
});
}
MyReceiver代码
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Toast.makeText(arg0, "the receive intent action is "+arg1.getAction()+"\n the massage content "+arg1.getStringExtra("msg"), 5000).show();
}
}
其中Toast是消息管理类
AndroidManifest.xml 文件里做配置
<receiver android:name=".MyReceiver">
<intent-filter >
<action android:name="org.ca.action.BROADCAST"></action>
</intent-filter>
</receiver>