Android内置了很多系统级别的广播,可以在应用程序中通过监听这些广播来得到各种系统的状态信息。比如手机开机完成后会发出一条广播,电池的电量发生变化会发出一条广播,时间或时区发生改变也会发出一条广播等等。如果想要接收到这些广播,就需要使用广播接收器(BroadcastReceiver)。
创建广播接收器
public class NewBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//接收到广播后的具体逻辑
}
}
}
创建一个广播接收器需要新建一个类继承BroadcastReceiver,并重写onReceive()
方法。这样当有广播到来时,onReceive()
方法就会得到执行,具体的逻辑就可以在这个方法中处理。
注册广播接收器
广播接收器可以自由地对自己感兴趣的广播进行注册,这样当有相应的广播发出时,广播接收器就能够收到该广播,并在内部处理相应的逻辑。注册广播的方式一般有两种,在代码中注册和在AndroidManifest.xml中注册,其中前者也被称为动态注册,后者也被称为静态注册。
1. 动态注册
示例:监听网络变化
public class MainActivity extends Ap