Android给许多系统服务广播Intent。你可以使用这些基于系统事件的消息来给自己的工程增添一些功能,这些事件如时区变更、数据连接状态、SMS消息或电话呼叫。
下面的列表介绍了一些Intent类中的本地动作常量;这些动作基本上用于设备状态改变的跟踪:
❑ ACTION_BOOT_COMPLETED
一旦设备完成启动时触发。需要RECEIVE_BOOT_COMPLETED权限。
❑ ACTION_CAMERA_BUTTON
摄像头按被按下时触发。
❑ ACTION_DATE_CHANGED和ACTION_TIME_CHANGED
当手动修改日期或时间时广播这两个动作。
❑ ACTION_GTALK_SERVICE_CONNECTED和ACTION_GTALK_SERVICE_DISCONNECTED
当GTalk连接或丢失连接时广播这两个动作。更多GTalk消息将在第9章详细讨论。
❑ ACTION_MEDIA_BUTTON
媒体按钮按下时触发。
❑ ACTION_MEDIA_EJECT
当用户选择弹出外部的储存媒体,会首先触发这个。如果你的程序读写到外部媒体存储器,你应该监听这个事件来保存和关闭任何打开的文件句柄。
❑ ACTION_MEDIA_MOUNTED和ACTION_MEDIA_UNMOUNTED
当新的外部存储媒体成功地添加到设备或从设备移除时触发。
❑ ACTION_SCREEN_OFF和ACTION_SCREEN_ON
当屏幕打开或关闭时广播。
❑ ACTION_TIMEZONE_CHANGED
当电话的当前时区变更时会广播这个动作。Intent中包含一个ID为java.util.TimeZone的时区extras。
Android用来通知应用程序状态变更的动作的列表可参考:
http://code.google.com/android/reference/android/content/Intent.html.
Android还使用Broadcast Receiver来监听特定的事件如SMS消息接收。动作和与这些事件关联的Intent将在后面的章节详细讨论,等你了解了更多关于关联服务之后。