ANDROID系统广播总结

本文详细介绍了Android系统中各种广播的用途、常量值及其应用场景,包括时间相关广播、系统启动广播、应用安装/删除/重启广播、电量变化广播、设备状态变化广播、输入法切换广播等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**根据文档并参考了他人博客总结而来**


ACTION_TIME_TICK

时间流逝,每分钟发送一次,不能在manifest中声明,只有通过Context.registerReceiver()方法来注册

Constant Value:"android.intent.action.TIME_TICK"


ACTION_TIME_CHANGED

时间被设置时的广播

Constant Value:"android.intent.action.TIME_SET"


ACTION_TIMEZONE_CHANGED

时区改变

Constant Value:"android.intent.action.TIMEZONE_CHANGED"


ACTION_BOOT_COMPLETED

系统启动完成后,只发送一次

Constant Value:"android.intent.action.BOOT_COMPLETED"


ACTION_PACKAGE_ADDED

一个新应用包已经安装在设备上,data中含包名(最新安装的包程序不能接收到这个广播)

Constant Value: "android.intent.action.PACKAGE_ADDED"

获取data中的包名:

<intent-filter>

        <action android:name="android.intent.action.PACKAGE_ADDED"/>

        <data android:scheme="package"></data>

</intent-filter>

在onReceive中,pac =intent.getData().getSchemeSpecificPart();


ACTION_PACKAGE_CHANGED

一个已存在的应用程序包已经改变,data中含包名,获取包名同上

Constant Value:"android.intent.action.PACKAGE_CHANGED"


ACTION_PACKAGE_REMOVED

成功的删除某个APK之后发出的广播,data中含包名(正在被安装的包程序不能接收到这个广播)

Constant Value:"android.intent.action.PACKAGE_REMOVED"

 

 

ACTION_PACKAGE_INSTALL;

This constant was deprecated in API level14. api14开始被弃用

This constant has never been used.

触发一个下载并且完成安装时发出的广播,比如在电子市场里下载应用

Constant Value:"android.intent.action.PACKAGE_ADDED"

 

 

ACTION_PACKAGE_REPLACED;

替换一个现有的安装包时发出的广播(不管现在安装的APP比之前的新还是旧,都会发出此广播)

Constant Value:"android.intent.action.PACKAGE_CHANGED"

 


ACTION_PACKAGE_RESTARTED

程序被关闭时发送广播

用户重新开始一个包,包的所有进程将被杀死,所有与其联系的运行时间状态应该被移除,data中含包名(重新开始包程序不能接收到这个广播)

Constant Value:"android.intent.action.PACKAGE_RESTARTED"


ACTION_PACKAGE_DATA_CLEARED

清除一个应用程序的数据时发出的广播(在设置--应用管理--选中某个应用,之后点清除数据时) ,data中含包名(清除包程序不能接收到这个广播)

Constant Value:"android.intent.action.PACKAGE_DATA_CLEARED"


ACTION_UID_REMOVED

一个用户ID已经从系统中移除发出的广播

Constant Value:"android.intent.action.UID_REMOVED"


ACTION_BATTERY_CHANGED

充电状态,或者电池的电量发生变化,不能manifest声明接收这个广播,只有通过Context.registerReceiver()注册。ACTION_BATTERY_LOW,ACTION_BATTERY_OKAY, ACTION_POWER_CONNECTED, ACTION_POWER_DISCONNECTED 可以通过manifest声明接收

Constant Value:"android.intent.action.BATTERY_CHANGED"

 

ACTION_BATTERY_LOW;

表示电池电量低,对应系统” Low battery warning”会话

Constant Value: "android.intent.action.BATTERY_LOW"

 

ACTION_BATTERY_OKAY;

表示电池电量充足,即从电池电量低变化到饱满时会发出广播

Constant Value: "android.intent.action.BATTERY_OKAY"


ACTION_POWER_CONNECTED

插上外部电源时发出的广播

Constant Value:"android.intent.action.ACTION_POWER_CONNECTED"


ACTION_POWER_DISCONNECTED

已断开外部电源连接时发出的广播

Constant Value:"android.intent.action.ACTION_POWER_DISCONNECTED"

 

ACTION_SHUTDOWN

关闭系统时发出的广播

当这个广播发出后,系统彻底关闭,没保存的数据将丢失,应用一般不处理这个广播

Constant Value:"android.intent.action.ACTION_SHUTDOWN"

 

ACTION_AIRPLANE_MODE_CHANGED

关闭或打开飞行模式时的广播

Constant Value:"android.intent.action.AIRPLANE_MODE"

 

 

 

 

 

ACTION_CAMERA_BUTTON;

按下照相时的拍照按键(硬件按键)时发出的广播

Constant Value:"android.intent.action.CAMERA_BUTTON"

 

ACTION_CLOSE_SYSTEM_DIALOGS;

关闭系统会话,包括通知窗口阴影和最近的任务对话框

Constant Value: "android.intent.action.CLOSE_SYSTEM_DIALOGS"

 

ACTION_CONFIGURATION_CHANGED;

设备当前设置被改变时发出的广播(包括的改变:界面语言,设备方向等,请参考Configuration.java) 。只能由Context.registerReceiver()接收

Constant Value:"android.intent.action.CONFIGURATION_CHANGED"

 

ACTION_DATE_CHANGED;

设备日期发生改变时会发出此广播,包括系统日期自动变化

Constant Value:"android.intent.action.DATE_CHANGED"

 

ACTION_DEVICE_STORAGE_LOW;

设备内存不足时发出的广播

Constant Value:"android.intent.action.DEVICE_STORAGE_LOW"

 

ACTION_DEVICE_STORAGE_OK;

设备内存从不足到充足时发出的广播

Constant Value: "android.intent.action.DEVICE_STORAGE_OK"

 

ACTION_DOCK_EVENT;

for changes in the physical docking stateof the device.

发出此广播的地方frameworks\base\services\java\com\android\server\DockObserver.java

Constant Value:"android.intent.action.DOCK_EVENT"

 

ACTION_EXTERNAL_APPLICATIONS_AVAILABLE;

移动APP完成之后,发出的广播(移动是指:APP2SD)

Constant Value:"android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"

 

ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE;

正在移动APP时,发出的广播(移动是指:APP2SD)

ConstantValue: "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"

 

ACTION_GTALK_SERVICE_CONNECTED;

Gtalk已建立连接时发出的广播

Constant Value:"android.intent.action.GTALK_CONNECTED"

 

ACTION_GTALK_SERVICE_DISCONNECTED;

Gtalk已断开连接时发出的广播

Constant Value:"android.intent.action.GTALK_DISCONNECTED"

 

ACTION_HEADSET_PLUG;

在耳机口上插入耳机时发出的广播,测试manifest中接收不到

Constant Value:"android.intent.action.HEADSET_PLUG"

 

ACTION_INPUT_METHOD_CHANGED;

改变输入法时发出的广播

Constant Value:"android.intent.action.INPUT_METHOD_CHANGED"

 

ACTION_LOCALE_CHANGED;

设备当前区域设置已更改时发出的广播

Constant Value:"android.intent.action.LOCALE_CHANGED"

 

ACTION_MANAGE_PACKAGE_STORAGE;

用户确认低内存状态,应该进行包管理

这是由用户在ACTION_DEVICE_STORAGE_LOW时触发的广播

Constant Value:"android.intent.action.MANAGE_PACKAGE_STORAGE"

 

ACTION_MEDIA_BUTTON;

按下"Media Button" 按键时发出的广播,假如有"MediaButton" 按键的话(硬件按键)

Constant Value:"android.intent.action.MEDIA_BUTTON"

 

ACTION_MEDIA_BAD_REMOVAL;

未正确移除SD卡(正确移除SD卡的方法:设置--SD卡和设备内存--卸载SD卡),如直接拔卡

扩展卡已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)

挂载点的路径包含在Intent.mData中

Constant Value: "android.intent.action.MEDIA_BAD_REMOVAL"

 

ACTION_MEDIA_CHECKING;

插入外部储存装置,比如SD卡时,系统会检验SD卡,此时发出的广播

挂载点的路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_CHECKING"

 

 

ACTION_MEDIA_EJECT;

已拔掉外部大容量储存设备发出的广播(比如SD卡,或移动硬盘),不管有没有正确卸载都会发出此广播

广播:用户想要移除扩展介质(拔掉扩展卡)。

挂载点的路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_EJECT"

 

ACTION_MEDIA_MOUNTED;

插入SD卡并且已正确安装(识别)时发出的广播

广播:扩展介质被插入,而且已经被挂载。

挂载点的路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_MOUNTED"

 

ACTION_MEDIA_NOFS;

插入的扩展介质不兼容

挂载点的路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_NOFS"

 

ACTION_MEDIA_REMOVED;

外部储存设备已被移除,不管有没正确卸载,都会发出此广播

广播:扩展介质被移除。

挂载点的路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_REMOVED"

 

ACTION_MEDIA_SCANNER_FINISHED;

广播:已经扫描完介质的目录

扫描的目录包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_SCANNER_FINISHED"

 

ACTION_MEDIA_SCANNER_SCAN_FILE;

请求扫描文件,并添加到数据库

文件路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_SCANNER_SCAN_FILE"

 

ACTION_MEDIA_SCANNER_STARTED;

广播:开始扫描介质的一个目录

扫描的目录包含在Intent.mData中

Constant Value:"android.intent.action. MEDIA_SCANNER_STARTED"

 

 

ACTION_MEDIA_SHARED;

广播:扩展介质的挂载被解除 (unmount),因为它已经作为 USB 大容量存储被共享。

挂载点的路径包含在Intent.mData中

Constant Value: "android.intent.action.MEDIA_SHARED"

 

ACTION_MEDIA_UNMOUNTABLE;

广播:扩展介质存在,但是还没有被挂载

挂载点的路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_UNMOUNTABLE"

 

 

ACTION_MEDIA_UNMOUNTED

没有挂载到挂载点,介质不一定在

挂载点的路径包含在Intent.mData中

Constant Value:"android.intent.action.MEDIA_UNMOUNTED"

 

 

注:1.不管以何种方式卸载(正常卸载拔出、正常卸载不拔出 sd 卡、直接拔出 sd 卡)系统都会发出下面的 action 广播

ACTION_MEDIA_EJECT,ACTION_MEDIA_UNMOUNTED

2.接收到ACTION_MEDIA_EJECT 广播之后,sd 卡还是可以读写的,直到接收到 ACTION_MEDIA_REMOVED、ACTION_MEDIA_UNMOUNTED等广播之后,sd 卡才不可以读写

 

 

ACTION_NEW_OUTGOING_CALL;

Constant Value:"android.intent.action.NEW_OUTGOING_CALL"

 

 

ACTION_REBOOT;

重启设备时的广播

只能被系统使用

Constant Value:"android.intent.action.REBOOT"

 

ACTION_SCREEN_OFF;

屏幕被关闭之后的广播

Constant Value:"android.intent.action.SCREEN_OFF"

 

ACTION_SCREEN_ON;

屏幕被打开之后的广播

Constant Value:"android.intent.action.SCREEN_ON"

 

ACTION_UMS_CONNECTED;

设备已进入USB大容量储存状态时发出的广播

api14不赞成使用,用android.os.storage.StorageEventListener替代

Constant Value: "android.intent.action.UMS_CONNECTED"

ACTION_UMS_DISCONNECTED;

设备已从USB大容量储存状态转为正常状态时发出的广播

api14不赞成使用,用android.os.storage.StorageEventListener替代

Constant Value:"android.intent.action.UMS_DISCONNECTED"

 

 

ACTION_USER_PRESENT;

解锁广播

Constant Value:"android.intent.action.USER_PRESENT"

 

ACTION_WALLPAPER_CHANGED;

设备墙纸已改变时发出的广播

api16不再赞成使用

Constant Value: "android.intent.action.WALLPAPER_CHANGED"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值