目前分類:第6章 手機自動服務記實 (23)

瀏覽方式: 標題列表 簡短摘要

在Android 作業系統中,有許多的電話相關事件(Telephony Event)會對系統發送廣播訊息,簡訊事件也不例外,當系統收到(Receiver)訊息後,會由負責處理的Intent 接手處理,若要在自己撰寫的程式中,捕捉系統發出的簡訊廣播訊息,就必須利用BroadcastReceiver 物件來聆聽簡訊服務。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

本範例將運用BroadcastReceiver 的特性,來實作取得手機電池計量的程式;程式中將藉由註冊BroadcastReceiver 時設定的IntentFilter(android.content.IntentFilter),來捕捉系統發出的 Intent.ACTION_BATTERY_CHANGED 這個Action,再藉此取得手機電池的計量結果。

 


androidsdk 發表在 痞客邦 留言(1) 人氣()

這個範例練習,是在程式裡預設兩個固定簡訊內容,當按下「發送」按鈕(Button)時,會去撈取手機上的通訊錄,讓User 選擇要發送的對象,一旦選好聯絡人後,便返回程式,然後執行發送簡訊的功能。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

Android 的Service 物件是以分時執行緒的方式執行,這表示即便是透過Activity 裡啟動Service,也不會在相同的process 執行,而是各自屬於不同的程序。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

在收到簡訊後,除了Toast 提示簡訊內容之外,再透過Email 寄發到使用者的電子信箱中,讓User 可把重要的簡訊備份在個人的電子信箱中,再也不怕手機簡訊容量不足的問題。


androidsdk 發表在 痞客邦 留言(0) 人氣()

手機最重要的功能不外乎是撥接電話、收發簡訊,PhoneStateListener 提供了聆聽這些事件的方法, 所以, 要監控手機電話狀態, 需建立PhoneStateListener 物件, 覆寫其中onCallStateChanged() 方法,透過傳入的「state」判斷來電狀態。


androidsdk 發表在 痞客邦 留言(0) 人氣()

當有來電時,以Email 即時通知,這樣的Web 2.0 整合,便可視為反向的push-Email,即「Phone-to-Email」的應用方式之一。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

記憶卡在Android 手機上是可以隨時插拔的,且在插入與拔起時,會對作業系統進行ACTION broadcast。在接下來的範例練習裡,將透過StatFs 檔案系統的方法取得MicroSD 記憶卡裡的剩餘空間。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

這個範例練習將在Layout 裡設計兩個按鈕,分別對「手機記憶體」以及「SD Card」做「新增」、「刪除」的功能,而稍複雜的是本範例程式(Application)具有三個Activity,除了主程式的Entry Activity 之外,其餘兩個分別處理記憶體與記憶卡。

 


androidsdk 發表在 痞客邦 留言(1) 人氣()

Android API 中提供了AlarmManager(android.app.AlarmManager)類別,可以設定在指定的時間執行某些動作,本範例將運用AlarmManager 來實作兩種不同類型的鬧鐘。

 


androidsdk 發表在 痞客邦 留言(7) 人氣()

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


androidsdk 發表在 痞客邦 留言(0) 人氣()

本範例程式中,整合了SensorListener 以及AudioManager,當程式發現手機被翻背面時,就會將鈴聲模式變更為震動模式,尤其是在音樂會、上班會議中,萬一忘記將鈴聲調整為靜音震動時,就可以利用這支程式快速地關閉手機鈴聲。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

本範例將製作一個每天自動更換桌面背景圖案的應用程式,使用者可以自訂每天想要更換的桌面背景圖案,當服務啟動後,每天的凌晨,手機就會自動更換桌面背景,省去手動換桌面背景的麻煩。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

這個範例程式的學習重點在於如何衍生系統廣播類別(mServiceReceiver),並在此Receiver 當中,判斷簡訊發送的結果。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

本範例的學習重點就是要在Service 裡,透過自訂廣播(Broadcast),讓原本的Activity 收到訊息並進行對應的處理,以本程式而言,則是在收到來自Service 的廣播訊息後,停止已開始的Service 服務。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

這個範例非常簡單,只有一個主程式(Activity)、一個BroadcastReceiver 類別,這個程式只要執行一次,之後只要一開機就會執行這個程式,直到這個程式被移除為止。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

這是一個非常實用的範例,其結果是在Activity 裡啟動系統背景服務,並在啟動服務之後,關閉Activity,接著在作業系統背景中執行監控,直到手機收到簡訊之後,判斷簡訊內容裡是否有設計好的關鍵 字,一旦發現關鍵字,則回傳簡訊給發訊者的電話,進而達到電信業者常用的「雙向簡訊」機制。

 


androidsdk 發表在 痞客邦 留言(0) 人氣()

在Android SDK API Level 3 開始,即支援了各式各樣的Sensor,在此之前也介紹過,但本範例將以「TYPE_TEMPERATURE」當成android.hardware.Sensor在手機上實作「溫度計」功能,當然這個TYPE_TEMPERATURE Sensor 並非是為人體而設計,原始的設計初衷筆者構想應是測量電池的表面溫度,以偵測電池異常的高溫變化。


androidsdk 發表在 痞客邦 留言(1) 人氣()

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


androidsdk 發表在 痞客邦 留言(1) 人氣()

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


androidsdk 發表在 痞客邦 留言(0) 人氣()

1 2