2

特にNokiaN73(またはSymbianでサポートされているデバイスhttp://en.wikipedia.org/wiki/Symbian_OS#Devices_that_have_used_the_Symbian_OS)の場合、Symbian OSのSMSコンポーザーでユーザーのキーストロークをキャプチャするにはどうすればよいですか?私はsymbian開発に不慣れで、SMSを送信する人の文体を分析するためのアプリケーションを作成しようとしています。どんな情報でも(または正しい方向に押して)素晴らしいでしょう。

どうもありがとう、

A

4

3 に答える 3

2

実際、Symbian OS の任意のアプリケーション向けのキーストロークをキャプチャできます。 RWindowGroup::CaptureKey()またRWindowGroup::CaptureLongKey()、フォアグラウンドにあるかどうかに関係なく、実行可能ファイルが任意のアプリケーションからキーをキャプチャできるようにします。ただし、この場合、これは面倒な場合があります。これら 2 つの関数は、特定のキー コードと修飾子の組み合わせをキャプチャすることで機能するため、SMS コンポーザですべてのキーの組み合わせを処理するには、多くのキャプチャを設定する必要があります。

また、実行可能ファイルがイベントをキャプチャしたら、そのイベントを SMS コンポーザに渡す必要があります。RWsSession::SendEventToWindowGroup()またはを使用することは名目上は可能TApaTask::SendKey()ですが、イベントが正しい順序 (つまり、キー ダウン、キー イベント、キー アップ) で到着すること、およびユーザー入力に対するさまざまな FEP (フロント エンド プロセッサ) の動作に関連する複雑さがあります。

したがって、上記のように必要なことを実行することは名目上は実行可能ですが、実装してテストするのは面倒であり、危険にさらされていることがわかります. (製品アプリではなく) データを収集するために書き方を分析することだけが目的である場合は、独自の SMS コンポーザーを作成する方がよい場合があります。フォーラム ノキアの Web サイトには、エディターと SMS 送信に関する多くの例があります。

于 2008-11-13T09:24:45.760 に答える
1

さて、あなたの質問に答えるにはいくつかのレベルがあります。

  • キーストロークは、メッセージ エディタ アプリケーションによって実際にキャプチャされます。そのため、すべてのキーストロークを提供する API を提供します ( http://forum.nokia.comで検索できます。メッセージ エディター API は見つかりますが、主に GUI コントロールと再利用に関するものです。または、フォアグラウンドにとどまり、キーストロークをキャプチャしてから、たまたま背後にあるアプリケーションにフィードバックする独自の透過的なアプリケーションが必要になります。幸いなことに (明らかなセキュリティ上の理由から)、Symbian OS では後者を行うことはできません。

  • ただし、メッセージが電話機のメモリに保存されている場合 (下書きフォルダまたは SMS 送信ボックスに保存されている場合) に、独自のアプリケーションでメッセージを読み取ることができます。

必須の恥知らずなプラグイン: Symbian Message Store の使用方法を理解するために、 http: //www.quickrecipesonsymbianos.com のメッセージングの章を読むことをお勧めします。

あなたのケースで関心のあるクラスは、CmsvEntry、CMsvSession、MMsvSessionObserver、CMsvOperation、および CSmsClientMtm です。

于 2008-10-28T21:50:42.643 に答える
1

関連するメモとして、API に不満を感じて Symbian フォンにスタンプを押したときに、すべてのキーが同時に押されたことを検出できる API はありますか? ;-)

于 2008-11-13T09:33:12.293 に答える