CIO
|
PCDIY!
|
旗標圖書
|
旗景數位影像
|
讀者服務
首 頁
即時新聞
業界動態
最新活動
企業採購
精選文章
線上教學
品牌活動
程式碼下載
雲端運算智庫
最近新增的
精選文章
AP內建AI引擎 Mist Cloud平台分析能力強 Juniper Mist AI領先全球 改善WiFi穩定、效能首選
解決IT供應鏈攻擊
內部威脅的七個警訊
遠百以專案辦公室推動數位體驗
多廠牌與多重電信業者網路架構的挑戰與機會
德明科大啟用電貿暨AI實習基地 ViewSonic ViewBoard 智慧互動電子白板 扮要角
淺談計算誤差
秀傳醫療體系統 以Lenovo HyperConverged HX 超融合架構扎穩智慧醫療發展基礎
模組化設計 偵測率達99.99% 全面防杜惡意郵件入侵 首選Cellopoint Email UTM
滿足網路管理與檔案安全傳輸需求,Ipswitch的MOVEit及WhatsUp Gold一次完整提供
來自學界的資料分析利器 - Weka 與 R
北醫建置肺癌資料庫,透過深度標註訓練AI,協助醫師早期發現癌症
北榮AI門診上路!人工智慧判讀腦瘤,有效縮短醫師確診時間
台灣智慧機器人玩具聯盟攜手英閱音躍研創 推廣T. Robot程式教育,協助國中小學扎根培養運算思維
一場與時間賽跑的戰役 ,人工智慧加速心血管疾病診斷
最多人點閱的
精選文章
免費IT建置--Linux系統操作與管理
初探Hadoop開放原始碼平台環境
免費IT建置--網頁伺服器的完美組合LAMP(下)
Linux下的防火牆(基礎篇)
免費IT建置--檔案共享與檔案伺服器
Linux下的防火牆(進階篇)
N.Y.BAGELS CAFE善用SAP Business One
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 影片播放器範例
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 線上查詢匯率
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 擲骰子遊戲
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 音樂播放器範例
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 來電黑名單
免費IT建置--網頁伺服器的完美組合LAMP(上)
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 繪圖板範例
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ Matrix應用範例
精選文章 - 開發技術
分享到Plurk
分享到FaceBook
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 來電黑名單
文/陳彥文、彭亦暄
2010/9/11 下午 08:22:24
手機程式設計入門與應用─鈴聲控制範例
手機程式設計入門與應用─錄音程式範例
手機程式設計入門與應用─音樂播放器範例
手機程式設計入門與應用─影片播放器範例
手機程式設計入門與應用─繪圖板範例
手機程式設計入門與應用─觸控操作範例
手機程式設計入門與應用─Matrix應用範例
手機程式設計入門與應用─線上查詢匯率
手機程式設計入門與應用─擲骰子遊戲
手機程式設計入門與應用─來電黑名單
本節範例實作一個來電黑名單,只要在黑名單內的電話打來,程式會自動將其轉為靜音模式,而這些黑名單的資料會儲存在SD卡中的BlackList資料夾中。
在程式中,我們也將黑名單註冊為Service,這樣即使退出了黑名單的程式也可以繼續保持黑名單功能。程式總共分為兩部分:第一部分為Activity,用來讀取電話連絡人資訊以及設定黑名單。
第二部分為Service,當有電話來電時會去檢查此來電是否為名單上的電話號碼,若是則將此通電話鈴聲設為靜音。程式結果如下圖。
程式一開始會抓取手機的連絡人資料並顯示在電話簿的Tab中,程式碼如下:
利用ContentResolver來抓取系統中的連絡人資料,並將資料儲存在ContactInfo這個List中。如下:
接著顯示利用【Adapter】將【ContactInfo】顯示在電話簿的Tab中,如下:
接著系統去抓取在SD卡中是否有已存之黑名單列表,若有則讀取至黑名單Tab中,由於黑名單資料存放在SD卡中的【BlackList】資料夾下,故一開始必須檢查此資料夾是否存在,若不存在則要新建一資料夾,如下:
而我們將黑名單資料建立在【BlackList】資料夾下的blackList.txt中,所以接著檢查此檔案是否存在,若不存在則建立一個新檔案,若已有檔案存在則將檔案讀取至程式當中,如下:
抓取完後,同電話簿一樣將其顯示在黑名單Tab中。在範例中只要點擊電話簿的號碼即可將此號碼加入或移除黑名單,當號碼非黑名單時,點擊為加入黑名單,當號碼已經在黑名當時點擊即可移除黑名單。而在黑名單部分的號碼點擊後即可移除黑名單。
程式判斷此號碼是否在黑名單內,若是則會呼叫【showDialog】來詢問使用者是否要將其移除黑名單,若否,則會詢問使用者是否要將此號碼加入黑名單。當使用者點擊黑名單Tab內的號碼時,則只有移除此號碼的功能,如下:
在此我們自訂了兩個警告視窗,定義如下:
當使用者選擇將號碼加入黑名單時就將此號碼加入【file_BlackList】當中,而當使用者選擇將號碼移除黑名單時則將此號碼至【file_BlackList】移除,由於加入以及移除都會更改黑名單的狀態,所以在此呼叫自定義的【UpdateBlackListFile()】來更新黑名單狀態,如下:
其中,【adapterBlackList.notifyDataSetChanged()】方法讓黑名單的adapter做更新的動作,接著將黑名單內的資料寫入blackList.txt當中。當黑名單設定完成後,利用Menu來啟動或是停止黑名單的Service,當啟動Service後,利用finish()將黑名單程式結束掉並且啟動自訂的PhoneService服務,在服務啟動時會抓取存在SD卡內的黑名單資料,接著利用PhoneStateListener來監聽電話狀態,當有電話打進來時,PhoneService會確認此號碼是否再黑名單上,若是則更改為靜音模式,當電話結束後再將電話鈴聲轉為普通模式,程式碼如下:
而設定靜音模式則需使用到AudioManager的【setRingerMode】來設定為NORMAL或是SILENT。而在收到為CALL_STATE_RINGING狀態時,則會去檢查號碼是否為黑名單,檢查的IsInBlackList如下:
由於在檔案中儲存的格式為「名字 : 電話號碼」,所以我們利用【split()】方法將讀進來的黑名單資料切成一個陣列,分別放置名字和電話號碼,接著比較打進來的號碼是否再黑名單內。
來電黑名單展示
【本文範例來自《 手機程式設計入門與應用 Android、iPhone、Windows Mobile》】
回首頁...
關於RUN!PC
|
廣告刊登
|
聯絡我們
|
讀者服務
|
雜誌訂閱
|
出刊&補寄時間
-- Copyright© FLAG INFORMATION CO., LTD. 旗訊科技(股)公司. All rights reserved. 本站圖文著作權所有 未經授權 不得任意轉載使用 --
-- 請使用1024*768螢幕解析度,IE 7.0或firefox 3.0以上瀏覽器,以達到最佳閱讀效果--