Android两种注册广播的方式

静态注册

在AndroidManifest.xml文件中进行注册,当APP退出后,Receiver仍然可以接收到广播并且进行相应的处理。
在application标签下注册

<receiver android:name=".BootCompleteReceiver" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

动态注册

在代码中注册,当APP退出后就没办法在接收广播。

public class MainActivity extends Activity {
    private IntentFilter intentFilter;
    private NetworkChangeReceiver networkChangeReceiver;
    
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        intentFilter = new IntentFilter();
        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
        networkChangeReceiver = new NetworkChangeReceiver();
        registerReceiver(networkChangeReceiver, intentFilter);
    }
    
    @Override
    protected void onDestroy(){
        super.onDestroy();
        unregisterReceiver(networkChangeReceiver);
    }
    
    class NetworkChangeReceiver extends BroadcastReceiver{
        
        @Override
        public void onReceive(Context context, Intent, intent){
            //接收广播后的处理
            ...
        }
    }
}

推荐阅读更多精彩内容

  • 1.广播的分类 (1)按照发送的方式分类 标准广播是一种异步的方式来进行传播的,广播发出去之后,所有的广播接收者几...
    曹丰斌阅读 32,267评论 0 22
  • 诸多无奈,最近在改一个项目的bug的时候,脑子老是一片空白,可能是最近脑子不够用,总之,好多东西忘了,阅读一些别人...
    狗子王1948阅读 7,369评论 6 53
  • 前言 本来想写一下广播的,发现查阅后有整理的不错的,只好转载图个简便,日后好复习转载:http://www.cnb...
    提升即效率阅读 1,219评论 0 10
  • 广播接收器 是Android的四大组件之一,可见广播在Android中的重要性; 1. 什么是广播? 广播(Bro...
    Lost_Robot阅读 1,471评论 2 10
  • 1.引言 在《第四章 Android 四大应用组件》中,简单介绍了下四大组件的成员,属性,生命周期等。这里主要是介...
    忆念成风阅读 1,236评论 1 10
  • 昨天去食堂打饭的路上,跟隔壁班的B同学说了一下未来一个月的课程计划: 作业是N+1张,老师是某老师教...... ...
    鲸鱼半岛_Seven阅读 224评论 0 0
  • 三毛曾说过:“一个人至少拥有一个梦想,有一个理由去强,心若没有栖息的地方,到哪里都是流浪。”关于我的大学生活,我第...
    Ds_cda6阅读 113评论 0 2
  • 夜深人静,窗外连续不断的蛙声一阵阵地低吼,听得人莫名的烦躁。平常喜欢看雨听雨的我,因这次连续十几天的雨,到处湿漉漉...
    暖晴汝阅读 101评论 0 2
  • 越来越多的人站在道德至高点倡导着男女平等,怎么可能呢?男女永远不能平等。 01/ 前两天的一个上午,小北兴致勃勃地...
    喵了个说职场阅读 388评论 1 1