如何捕捉用戶在Symbian OS上的SMS編輯器中的擊鍵,特別是諾基亞N73(或任何Symbian支持的設備http://en.wikipedia.org/wiki/Symbian_OS#Devices_that_have_used_the_Symbian_OS)?我是symbian開發新手,我正在編寫一個應用程序來分析發送短信的人的寫作風格。任何信息(或推動正確的方向)將是偉大的。在Symbian OS上捕獲擊鍵?
非常感謝,
一個
如何捕捉用戶在Symbian OS上的SMS編輯器中的擊鍵,特別是諾基亞N73(或任何Symbian支持的設備http://en.wikipedia.org/wiki/Symbian_OS#Devices_that_have_used_the_Symbian_OS)?我是symbian開發新手,我正在編寫一個應用程序來分析發送短信的人的寫作風格。任何信息(或推動正確的方向)將是偉大的。在Symbian OS上捕獲擊鍵?
非常感謝,
一個
實際上,您可以在Symbian OS中捕獲任何應用程序的鍵擊。 RWindowGroup::CaptureKey()
和RWindowGroup::CaptureLongKey()
讓你的可執行文件,從任何一個應用捕獲鍵,你是否在前臺與否。 然而,在這種情況下,這可能被證明是單調乏味 - 這兩個功能通過捕捉特定的鍵代碼和修改的組合,所以你就必須建立大量捕獲的處理在SMS作曲家所有的組合鍵。
一旦您的exectuable已經捕捉到它,您也必須將事件傳遞給SMS作曲家。雖然名義上能夠利用RWsSession::SendEventToWindowGroup()
或TApaTask::SendKey()
,有複雜涉及的事件的正確順序(即鍵按下,鍵事件,鍵上)和不同前置機(前端處理器),用於用戶輸入的行爲到達。
因此,儘管按照上述要求做標準可行性,但如果以風險爲基礎進行實施和測試,將顯得乏味。如果你想要做的是分析的寫作風格來收集數據(而不是在產品的應用程序),你可能會更好編寫自己的短信作曲家 - 有大量的關於編輯和發送短信的諾基亞論壇網站的例子。
嗯,有幾個層面來回答你的問題。
鍵擊實際上是由消息編輯器應用程序捕獲的。所以,無論是它提供了一個API來養活你的所有的擊鍵(你可以找一個在http://forum.nokia.com,你會發現郵件編輯器的API,但將主要對重新使用GUI控件而不是你要找的內容)或者您需要一個自己的透明應用程序,它保留在前臺並捕獲擊鍵,然後再將它們送回任何恰好落後的應用程序。幸運的是(出於明顯的安全原因),Symbian操作系統不會允許您在以後執行此操作。
但是,您可以在手機存儲器中保存自己的應用程序讀取消息:當它們保存在「草稿」文件夾或SMS發件箱中時。
強制性無恥插頭:我會建議閱讀http://www.quickrecipesonsymbianos.com消息一章,以瞭解如何使用Symbian的郵件存儲
在你的情況下,感興趣的類別是:CmsvEntry,CMsvSession,MMsvSessionObserver ,CMsvOperation和CSmsClientMtm。
在相關說明 - 是否有一個API可以檢測到所有的按鍵被同時按下,因爲我的API在沮喪地塞滿了我的Symbian手機? ;-)