私が行っている調査では、ユーザーが日常的に電話を使用しているときにユーザーのタッチを追跡する方法が必要です。ユーザーは、何を記録しているかを完全に認識できます。どんな方法でも素晴らしいでしょう。
これまでに何を試しましたか?
方法 1. オーバーレイ透過ビューでサービスを作成します。
問題明らかなセキュリティ上の欠陥により、これは ICS で開始できません。透明なビューでの入力タッチはバックグラウンドに転送されないため、ユーザーは電話を正常に操作できません。タイプの電話またはタイプのシステムアラートとして定義するか、プログラムの実行中にそれらを切り替えるオーバーレイビューを使用して、さまざまな方法を試しました。
方法2. 画面サイズ1%で見る 機種外タッチで作る
問題前の問題として。Touch outside は、最初の x、y 座標さえもなしに、タッチ イベントが外部で発生した場合にのみ返します。
私が試した他の方法がありますが、それらは強調表示されています。現在、私は他のオプションについて考えています:
オプション 1 - 開発者向けオプションのポインター位置オプション:設定には、利用できるこのポインター位置オプションがあります。このオプションがオンの場合、タッチに関するすべての情報が上部パネルに表示されます。ユーザーが電話を使用しているときに画面に描画が表示されるという事実にもかかわらず、後でそれらのデータにアクセスできれば問題ありません。私は ICS のソース コードをたどり、その追跡を可能にしているコア クラスを見つけました。そのクラスをサービスに再作成しました。logcat は、アプリから実行しているときにタッチに関するすべての情報を表示します。唯一の問題は問題1と同じです。現在のアプリ以外では追跡できません。では、ポインター オプションがオンになっている場合でも追跡情報をログに記録する場合、後で使用するためにどのように情報を取得できますか?
このオプションが最も簡単に思えます。
オプション 2 - Android NDK上記の方法が不可能な場合、NDK を使用して行うことは可能ですか? このルートへの正しい方向も素晴らしいです。
オプション 3 - カスタム ROMこれを行っている間、本当にカスタム ROM を使用する必要がありますか? これが100%確実な方法だと確信しています。しかし、この特定の研究では非常に非現実的です。
私がたどることができる道への提案をいただければ幸いです。よろしくお願いします。