BroadCast是什么
BroadcastReceiver就是应用程序间的全局大喇叭,即通信的一个手段, 系统自己在很多时候都会发送广播,比如电量低或者充足,刚启动完,插入耳机,你有一条新的微信消息。。。这种都是使用BroadCast机制去实现的。
BroadCast分为静态和动态BroadCast两种。它们的区别是:
- 动态BroadCast是运行时发生的,它只有发生在APP运行后;
- 那么有一种消息如:开机监听、全局监听、无activity承载弹窗在开机时APP没有运行前告知你天气要变化了这种消息,这种消息就是用的“静态BroadCast“;
我们今天先从动态BroadCast入手。从今天开始我们后面很多教程都涉及到有一样东西即:Android权限。
对于Android权限,这一块知识比较零碎。而且在不同的Android版本间还有巨大的差异。主要分为:
- Android 6以前版本
- Android 6-10
- Android 10以后
每个sdk版本对权限的调用、配置还各不相同,我们就见招折招吧。
动态Broad Cast演示例子
今天我们来做的例子是一个在应用启动后如果网络信号发生断/连后及时广播相应的消息给到应用的Activity。如下图:
- 在模拟器里用鼠标拖着屏幕的顶部黑框下一点然后按住鼠标不动往下拖动,就会出现一些“常用设置”。
- 在设置里里对着网络信号开关作开/关操作
- 你可以看到下方有浮动的Toast显示“网络状态发生改变”