Android プラットフォーム (APILevel 17) でのアクセシビリティ研究プロジェクト用のキーロガー Android アプリケーションを構築するために、いくつかのリソースを見つけようとしています。
アプリケーションのインターフェイスは、[入力設定から必要なキーボードを選択した後]仮想オンスクリーン キーボードを使用してユーザーが入力する単純な「EditText」フィールドになります。
私は自分のアプリケーション用に Keylog データベースを作成することを目指しています (私はそれに慣れているので SQLite DB を使用しますが、単純な csv ファイル DB もうまく機能します! :))、次のようになります:
(図)
したがって、入力されたらすぐに、新しいエントリの各文字をタイムスタンプと共に記録する必要があります。「TextWatcher」クラスを試してみました
EditText KeyLogEditText = (EditText) findViewById(R.id.editTextforKeyLog);
TextWatcher KeyLogTextWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3)
{ }
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,int arg3)
{ }
@Override
public void afterTextChanged(Editable arg0) {
// TODO Log the characters in the SQLite DB with a timeStamp etc.
// Here I call my database each time and insert an entry in the database table.
//I am yet to figure out how to find the latest-typed-character by user in the EditText
}
私の質問は次のとおりです。
- これはこれを実装する正しい方法ですか?
- 時刻とともに入力された正確に 1 つの文字を取得し、後で取得して分析できる SQLite DB に挿入できますか??
- または、onKeyUpメソッドの方が便利でしょうか? [私はまだ試した方法を使用していないので、誰かがこれを使用してキーロガーを構築する方法を教えてくれれば、それがより簡単であれば素晴らしいことです!]
*何らかの形で私を助けてくれる人に、事前に感謝します!
アディット*