web-dev-qa-db-ja.com

Androidソフトキーボードアーキテクチャ

私はAndroidを初めて使用します。 Androidデバイスのソフトキーボードがどのように機能するかを正確に把握しようとしています。アプリケーションがユーザー入力を受信できるようにするために行われる「舞台裏」プロセスとは正確には何ですか?キーボード入力として他のアプリケーションに提示しますか?これを実行できるアプリケーションはありますか、それとも特別な特権が必要ですか?

私の実際の懸念は、Androidデバイスのキーロガーがキーストロークをタップして、そのような攻撃をどのように軽減できるかを理解できるようにする方法を見つけることです。したがって、その点で詳細を探しています。その深さまで。

1
qre0ct

キーボードは、OSに登録されているサービスとして提供されています。 OSは、キーボードが要求されたときにそれを表示し、それを要求しているアプリケーションに情報を渡します。ほとんどのキーロガーは、キーボードプロバイダーとして登録し、以前に選択したキーボードを表示して結果を記録している可能性があります。これが、新しいバージョンのAndroidが、新しいキーボードプロバイダーを登録するときに警告を表示する理由です。

2
AJ Henderson