12广播应用接收器

12 Broadcast Receiver

消息接收器

如何使用Broadcast Receiver

//继承BroadcastReceiver.

注册方式

  1. 静态注册

    AndroidManifest中注册.
    
  2. 动态注册

    IntentFilter = new IntentFilter();
    IntentFilter.addAction("接受对象")
    registerReceiver("广播接收器对象",IntentFilter)
    

如何发送广播

创建一个Intent对象
setAction
setBroadcast(intent)

如何接收广播

//重写onReceive(context,intent)--接收广播;

如何关闭广播

unRegisterReceiver("广播接收器对象");

系统广播大全

BroadCast Action

常量名称意义
ACTION_AIRPLANE_MODE_CHANGED判断是否开启“飞行模式”
ACTION_BATTERY_CHANGED监控电池状态改变
ACTION_BATTERY_OKAY电池脱离“低电量”时达到正常状态
ACTION_BOOT_COMPLETED在系统完成启动之后触发
ACTION_CAMERA_BUTTON按下“按照”按钮时触发
ACTION_CLOSE_SYSTEM_DIALOGS系统关闭时 / 按下 Home 键 /锁屏等使系统窗口关闭的事件时通知
ACTION_CONFIGURATION_CHANGED当“语言”发生改变时通知(只能通过 registerReceiver 来注册广播,不能在清单文件中注册)【不建议使用】
ACTION_DATE_CHANGED日期改变
ACTION_DEVICE_STORAGE_LOW设备内存不足时通知
ACTION_DEVICE_STORAGE_OK设备内存情况恢复正常时通知
ACTION_DOCK_EVENTDock 底座 的通知(车载、家用、桌面等底座)
ACTION_EXTERNAL_APPLICATIONS_AVAILABLE安装的 APP 从 SD 卡移动到系统空间
ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE安装的 APP 从系统空间移动到 SD 卡
ACTION_GTALK_SERVICE_CONNECTED当 GTalk 连接上的时候通知
ACTION_GTALK_SERVICE_DISCONNECTED当 GTalk 断开连接的时候通知
ACTION_HEADSET_PLUG连接上外设的时候通知 ( 耳机等 )
ACTION_INPUT_METHOD_CHANGED输入法发生改变时通知
ACTION_LOCALE_CHANGED当前系统区域位置改变时通知
ACTION_MANAGE_PACKAGE_STORAGE当设备内存不足时 (LOW) ,由用户发起这个广播通知,触发开启包管理器
ACTION_MEDIA_BAD_REMOVAL未正确移除 SD 卡 ( 正确移除SD 卡的方法 : 设置 --SD 卡和设备内存 – 卸载 SD 卡 ) ,但已把SD 卡取出来时发出的广播广播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)
ACTION_MEDIA_BUTTON按 Media 键的时候通知
ACTION_MEDIA_CHECKINGSD 卡插入时挂载会发出该通知
ACTION_MEDIA_EJECT当用户移除掉外部设备 SD 卡的时候,需要在这个广播通知内进行挂载点打开的全部文件的关闭处理,在这个通知中 SD 卡还可以读写,在收到ACTION_MEDIA_REMOVED 、ACTION_MEDIA_UNMOUNTED等广播之后, sd 卡 便不可以读写了!
ACTION_MEDIA_MOUNTEDSD 卡被成功挂载
ACTION_MEDIA_NOFS表示 SD 卡存在,但是文件系统不兼容或者尚未格式化
ACTION_MEDIA_REMOVEDSD 卡被移除
ACTION_MEDIA_UNMOUNTEDSD 卡已卸载
ACTION_MEDIA_SHAREDSD 卡进入 USB 连接模式
ACTION_MEDIA_UNSHAREDSD 卡退出 USB 连接模式
ACTION_MEDIA_UNMOUNTABLESD 卡存在,但是无法挂载
ACTION_MEDIA_SCANNER_STARTED开始扫描
ACTION_MEDIA_SCANNER_FINISHED结束扫描
ACTION_MEDIA_SCANNER_SCAN_FILE正在扫描一个文件
ACTION_NEW_OUTGOING_CALL拨出的电话会通知(可以做拨出电话的拦截)
ACTION_PACKAGE_ADDED有应用程序被添加
ACTION_PACKAGE_CHANGED有应用程序被改变
ACTION_PACKAGE_DATA_CLEARED有应用程序数据被清除
ACTION_PACKAGE_INSTALL有应用程序被安装 ( 监控恶意软件 )
ACTION_PACKAGE_REMOVED有应用程序被删除
ACTION_PACKAGE_REPLACED有应用程序被替代
ACTION_PACKAGE_RESTARTED有应用程序被重启
ACTION_POWER_CONNECTED外接电源接入(或充电器)时通知
ACTION_POWER_DISCONNECTED外接电源移除(或充电器)时通知
ACTION_PROVIDER_CHANGED有的 ContentProvider 有自己的空间,这些空间我们想要接触,当有数据发生改变的时候,我们可以触发这个广播通知。
ACTION_REBOOT设备重启通知
ACTION_SCREEN_ON屏幕打开
ACTION_SCREEN_OFF屏幕关闭
ACTION_SHUTDOWN系统关机广播
ACTION_TIME_CHANGED时间改变时通知
ACTION_TIME_TICK以分钟为单位,一分钟触发一次,(不能在清单文件中定义,只能通过动态注册的方式)
ACTION_TIMEZONE_CHANGED时区改变时通知
ACTION_UID_REMOVED用户 UID 被移除时通知
ACTION_UMS_CONNECTED手机已进入大容量模式,但是没有消息说 USB 有没有连上
ACTION_UMS_DISCONNECTED手机已退出容量模式
ACTION_USER_PRESENT当用户屏幕解锁后通知
ACTION_WALLPAPER_CHANGED壁纸改变的通知

其他知识

在主线程中执行,超过10秒要新创建线程执行,否则程序会出现卡死现象.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值