2011-07-19 7 views
2

私はイベントをキャプチャするためにAndroidアプリケーションを開発したい(キーを押す、タッチする、など)。問題は、アプリケーションが最小化されたときにイベントをキャプチャできないことです。 1つの解決策は、OSカーネルからプロセスに送信されたメッセージを使用することができますが、私はその方法を知らない。もし誰かが私を助けてくれれば嬉しいです。私のアプリケーションが最小化されたときのイベントのキャプチャ

+3

Androidアプリケーションは「最小化」されていませんが、他のものがフォアグラウンドを引き継ぐと「一時停止」します。それが起こると、何か他のものがkeypressイベントを所有しています - あなたのアプリケーションはもはやそれらの権利を持っていません。 –

答えて

1

おそらくIntentフィルタを作成したいと思うでしょう。インテントとは、アプリケーションが気づいている可能性のある面白いことが起こったときに、アプリケーションに通知するAndroidの方法です。インテントページを下にスクロールすると、インテントを通して公開されるアクション/イベントのリストが表示されます。そこから、Androidマニフェストファイルのアプリ定義の一部としてIntentFilterを作成します。

<intent-filter> 
    <action android:name="android.intent.action.SEARCH_LONG_PRESS" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

あなたは意図がどのように動作するかについていくつかの良い情報を見つけることができますし、開発者向けドキュメントのIntents and Intent Filtersページにそれらを設定する方法:ここで

は、検索ボタンクリックに対応するためのマニフェストの例です。

+0

このフィルタは「メニューボタンのクリックに対して」応答しません。 – CommonsWare

+0

あなたの権利は、メニューボタンではなく検索ボタンです。今後の編集 – ckramer

2

私のアプリケーションが最小化されると、イベントをキャプチャできないという問題があります。

正しい。

誰かが私を助けることができれば幸いです。

幸運なことに、幸いなことに、大規模なセキュリティホールが発生する可能性があります。

関連する問題