2016-05-30 8 views
1

KeyEvent.KEYCODE_HOMEが生成されるAOSPのコード行を探しています。 SystemUIパッケージのPhoneStatusBarクラスのどこかにあるはずです。 NavigationBarViewのOnTouchListenerによってトリガされるPhoneStatusBarにmHomeActionListenerが見つかりました。しかし、KeyEvent.KEYCODE_HOMEは生成されません。私はまだそのコードを見つけることができませんでした。どんなヒントも高く評価されます。Android AOSPインターセプトKeyEvent.KEYCODE_HOME

敬具

+0

簡潔にしてください – Moumit

+0

AOSPで作成されたKeyEvent.KEYCODE_HOMEはどこですか? :-) – Hannes

+0

あなたは、イベントが消費される地域をもっと見ているようです。ソースを見つけるには、入力システムを探します。おそらく、/ dev/inputデバイスを経由して、後でこの目的にマップされる汎用キーIDか、それとも既にAndroidのキーコードであるかを判断します。シミュレートされたイベントを注入するためのツールのソースを比較し、そのヒントを得ることができるかどうかを確認することもできます。 –

答えて

2

あなたのヒントのためのみんなに感謝します。

最後に、KEYCODE_HOMEがどのように生成され、消費されたかを知りました。私の必要条件は、設定可能なフラグが設定されたときにHOMEボタンを無効にすることでした。このプラットフォームは、適応されたAOSPを備えた独自の組み込みデバイスです。

ホームボタンは、ViewがNavigationBarViewOnClickListenerPhoneStatusBarであるパッケージSystemUIで定義されています。 KeyEvent.KEYCODE_HOMEは、InputDispatcher.cpp(inputflingerパッケージ)で生成され、にinterceptKeyBeforeQueueing()を介してPhoneWindowManager.WindowManagerPolicyに渡されます。 PhoneWindowManagerは、キーイベントを消費し、HOMEアプリケーションを開始します。

関連する問題