Android アプリケーションがアクティブなときに、それを処理するはずの実際のビューに配信される前に、すべてのキー イベント (およびタッチ イベント) をキャッチして処理する方法はありますか?
キーイベントを処理するためにアクティビティに onKeyDown または同様のメソッドを使用できることはわかっていますが、キーイベントを内部で処理する子ビューがない場合にのみ発生します。これらのビューは通常、ListView、GridView、ScrollView などです。
keyEvent がこれらのビューに配信される前に、keyHandler メソッドが呼び出される方法を見つけたいと考えています。
私の keyHandler での実装は非常に簡単です。キープレス トーンと同じように、イベントごとにトーンを再生し、それらのビューまたは Android フレームワークによって意図された方法で処理されるように転送します。
多くのアクティビティと多くのビューがあり、同じコードをどこにでも書くのが難しくなるため、すべてのアクティビティのすべてのビューに onKeyListener を書きたくないので、その可能性があるかどうかを知りたいです。方法があれば、それを BaseActivity に実装し、それによってすべてのアクティビティを派生させ、デフォルトのキー ハンドラーを使用する方法を続けることができます。