广播发送://创建intent
Intent.intent =new Intent();
intent.setAction(ACTION_UPLOAD);//action里面的是传字符串,传的是能被接收器接收的标识,可以自己设置
intent.puExtra(key,value);//键值对传递要发送的广播信息
sendBroadcast(intent);//发送广播
广播接收:
使用到BroadcastReceive类,这个类可以在activity里面直接创建也可以在外面新建一个Java类写里面,再在activity里面new一个引用变量来操作。简单一点就在activity里面写
private BroadcastReceiver mReceive(接收器名)=new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //收到广播 } };
在onCreate中注册广播接收器:
//注册广播接收器 IntentFilter intentFilter=new IntentFilter(); intentFilter.addAction(//添加允许收到的发送器标识名); registerReceiver(/*接收器名*/mReceive,intentFilter);
//IntentFilter是过滤器,
广播的发送可以跨activity,就是在activity2中可以发送广播让activity1中接收到广播并运行其中的代码
最后记得解除注册:
@Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(//接收器名); }
静态广播比较麻烦且不适用,暂时不考虑