wp7來電通

wp7來電通

WP7終於可以顯示來電/去電歸屬地顯示啦,來電歸屬地顯示,通話管理不僅僅為wp7的用戶帶來這些功能,還增強了禁止白名單/黑名單功能以提示忙音轉移,非HTC系列機器來電震動等等。它終於來啦,來啦,啦!還等什麼趕緊體驗吧。

基本介紹

  • 中文名:wp7來電通
  • 功能:顯示來電/去電,歸屬地
  • 增強:禁止白名單/黑名單功能
  • 主要功能:攔截所有陌生號碼
通話管理主要功能,通話管理原理,RIL 層攔截通話,顯示號碼歸屬地,資料庫查詢,要讓程式能常駐記憶體,

通話管理主要功能

1、實時顯示來、去電歸屬地
2、來電黑名單攔截
3、來電白名單
4、攔截所有陌生號碼
由於當前Windows Phone的限制,相關套用接口尚未開放,導致市場上並不存在能夠真正實現通話管理、實時顯示來去電歸屬地及來電黑名單等功能的套用,之前活躍於多個平台並於登入Windows Phone的來電通套用也不例外。但這可難不倒開發者,經過近一個月的開發與完善,由imEgo、BTx-豆皮及mousedl合作開發的通話管理套用已於4.23提交Google Code並遵循GNU GPL v3協定開源。
由於使用了定製驅動,當前版本只適用於DFT系列定製固件,開發者表示將嘗試將其移植至只能夠interop unlock的機器上。

通話管理原理

話說 WP7 的通話沒有顯示號碼歸屬地、黑名單免打擾的的功能,終於有了第三方的通話管理。UMU 以前在 WM 上做過相關的東西,根據一點經驗分析一下這個東西的原理。

RIL 層攔截通話

ril.dll 里有三個關鍵的 API:RIL_Initialize、RIL_ManageCalls、RIL_Deinitialize,用 RIL_Initialize 設定回調函式,有通話事件發生時通知我們,然後 RIL_ManageCalls 可以做掛掉等操作。

顯示號碼歸屬地

有兩種方法可以顯示給用戶:
(1)用 SHPostMessageToast 顯示一個頂端的通知訊息;
(2)改運營商名字。
第一種方法就不說了,就是出現通知訊息,擋住通話界面,嫌它礙事,可以把它擼到右邊去,它就消失了。
第二種方法是利用通話界面會在右上角顯示當前運行商的特點,只要在註冊表 HKEY_LOCAL_MACHINE\System\Phone\Providers\{F0DCA447-4846-4c88-AA2E-C6E33808BE5D}\State\Line1\TempState改變“OperatorName”就可以改變這個顯示,當然這裡是一個大概過程,具體實現時,您可能要先暫停 CProg.exe 的所有執行緒,以防止它先顯示了,等改完再繼續執行緒。另外,還要注意事先保存原來的運行商名字,以便復原。不過,第二種方法有個缺點——不能設定字型大小,導致來電時,那個歸屬地很不起眼。

資料庫查詢

當然要有一個資料庫查詢歸屬地,可以用 SQLite,或者 CEDB,或者自定義的格式……

要讓程式能常駐記憶體

最簡單的方法就是寫成服務,由 Services.exe 載入的那種,其實很簡單,就幾個函式,有好幾個都可以置空,只要實現 3 個重點的:xxx_Init、xxx_Deinit、xxx_IOControl。

相關詞條

熱門詞條

聯絡我們