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將在後面的章節詳細討論,等你瞭解了更多關於關聯服務之後。