Activity Service之间的通信单用intent有时候还是不能满足要求,毕竟intent只能在启动一个activity的时候传一点消息过去
这个时候就用到广播了,至此,四大组件Activity Broadcast Service ContentProvider中终于用过三个了。。。当然目前只是粗略用过,具体实现不清楚,以后再研究吧
广播能进行进程间通信
用法如下(只是一种写法):
接收方:
class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent){ //intent即为发送方传过来的intent } } } private IntentFilter intentFilter=new IntentFilter();; private MyBroadcastReceiver myBroadcastReceiver=new MyBroadcastReceiver(); intentFilter.addAction("MyBroadcastReceiver");//里面填的用于区分其他发送接收对象 registerReceiver(myBroadcastReceiver,intentFilter);
发送方
Intent intent=new Intent("MyBroadcastReceiver"); intent.putExtra("MqttData",broadcastData);//这里存放信息 sendBroadcast(intent);
注意intent传对象,对象需要实现Serializable接口