以往看見不想接的電話,總是得費一番功夫,無論是不禮貌的掛掉電話,或者來不及轉成鈴聲靜音,任由手機在角落鈴響到對方放棄為止,在這個範例程式具有機器 人(An-droid)的血統,可以自動過濾拒接者的來電,將電話鈴聲模式自動改成「靜音」模式,再也不用不禮貌的掛斷電話,或是因為來不及轉成靜音而打 擾到周圍的人。

以往看見不想接的電話,總是得費一番功夫,無論是不禮貌的掛掉電話,或者來不及轉成鈴聲靜音,任由手機在角落鈴響到對方放棄為止,在這個範例程式具有機器 人(An-droid)的血統,可以自動過濾拒接者的來電,將電話鈴聲模式自動改成「靜音」模式,再也不用不禮貌的掛斷電話,或是因為來不及轉成靜音而打 擾到周圍的人。

本範例程式中,整合了SensorListener 以及AudioManager,當程式發現手機被翻背面時,就會將鈴聲模式變更為震動模式,尤其是在音樂會、上班會議中,萬一忘記將鈴聲調整為靜音震動時,就可以利用這支程式快速地關閉手機鈴聲。
本範例的學習重點就是要在Service 裡,透過自訂廣播(Broadcast),讓原本的Activity 收到訊息並進行對應的處理,以本程式而言,則是在收到來自Service 的廣播訊息後,停止已開始的Service 服務。
這是一個非常實用的範例,其結果是在Activity 裡啟動系統背景服務,並在啟動服務之後,關閉Activity,接著在作業系統背景中執行監控,直到手機收到簡訊之後,判斷簡訊內容裡是否有設計好的關鍵 字,一旦發現關鍵字,則回傳簡訊給發訊者的電話,進而達到電信業者常用的「雙向簡訊」機制。
在Android SDK API Level 3 開始,即支援了各式各樣的Sensor,在此之前也介紹過,但本範例將以「TYPE_TEMPERATURE」當成android.hardware.Sensor在手機上實作「溫度計」功能,當然這個TYPE_TEMPERATURE Sensor 並非是為人體而設計,原始的設計初衷筆者構想應是測量電池的表面溫度,以偵測電池異常的高溫變化。

在Android Market 裡除了單獨執行的Application 之外,最受人歡迎的就屬Android手機小工具(Widget),這些可以隨意放置在手機桌面上的小程式,是繼承自AppWidgetProvider 而來,伴隨著新版SDK 的推出而有不同的嶄新功能,本範例將示範在桌面上設計一個電池模樣的小工具,隨著電池電量的變化而自動變換圖樣。

Android 手機通訊錄支援聯絡人設定多組電話號碼,在本章之前也實作過一些與聯絡人相關的範例,但大多是直接存取聯絡人,或取得第一筆(Cursor.moveToFirst())電話號碼,而無法取得該聯絡人完整多組電話號碼,此範例程式為以ListActivity為主體,直接向通訊錄存取聯絡人名稱列於清單當中,當User 點選聯絡人資料即撈出所有設定的多組電話號碼。
