Android でシステム イベントとオペレーティング システムのアクティビティを監視する正しい方法を知りたいです。これまでの私の調査では、アクティビティ、サービス、BroadCastReceivers などを実行するためのさまざまな方法があることが示されていますが、達成したいことすべてに対する全体的な包括的な答えはまだありません。今日、「Carrier IQ」というアプリを見つけたのですが、どうやってやっているのか気になりました。彼らのアプリは、カーネルまたは少なくとも携帯電話の OS イメージに組み込まれていると思います。これは、可能な限り避けたいことです。
Android SDK がさまざまな取得方法を提供していることは知っています。アプリを一時停止することはできないため、フォアグラウンド サービスとして実行する必要がありますか? これを行うと、さまざまなアクティビティをポーリングする必要がある場合にリソースを消費しすぎますか? イベントを受信する (つまり、BroadCastReceiver を使用する) だけではすべてを取得できるとは思えないため、このように質問しています。ポーリングとイベントの組み合わせが必要だと思います。
ユーザー調査のために、センサー、イベント、OS アクティビティなどをログに記録したいと考えています。これは、ハッキングやフィッシングを目的としたものではありません!
これらは、私が達成したいことと同様のことを達成できると思われる上位 3 つのプロジェクトですが、実行可能なソリューションであるかどうかはまだ判断していません。