web-dev-qa-db-ja.com

Androidでアプリの使用状況を追跡する方法は?アクティビティが開始されたことを検出する方法は?

Android AppUsageが行う方法のように(つまり、アプリの起動回数と、それぞれの使用時間を追跡する)でアプリの使用状況を追跡する必要があります。が起動され、アプリが一時停止または停止されたときに終了時間を取得します。LogCatでは、アクティビティ開始のログを確認できます。利用可能なシステムブロードキャストを確認しましたが、何かあるかどうかはわかりませんそれは、アクティビティが開始されるたびにブロードキャストします。

編集:さらに、Androidには内部的に利用可能な統計システムもあります。これは、スペアパーツアプリまたは*#*#4636#*#*がダイヤルされます(テスト->利用統計)

22
sofiaguyang

Android 5.0 APIの一部としてリリースされた新しいAndroid.app.usage APIを使用して、Androidデバイスのアプリ使用履歴にアクセスできるようになりました。システムは、アプリベース、毎日、毎週、毎月、毎年の間隔でデータを集約

各アプリについて、システムは次のデータを記録します。

アプリケーションが最後に使用された時間アプリケーションがその時間間隔(日、週、月、または年ごと)でフォアグラウンドにあった合計時間。コンポーネント(パッケージおよびアクティビティ名で識別される)が1日中の前景または背景デバイス構成が変更されたときのタイムスタンプキャプチャ(回転のためにデバイスの向きが変更されたときなど)

Refr: http://developer.Android.com/reference/Android/app/usage/package-summary.html

13
android.fryo

基本的に、アクティビティが開始されたことを検出するにはどうすればよいですか?

あなたはしません。 Android SDKには、「アプリの起動時の開始時刻」や「アプリの一時停止または停止時の終了時刻」については何もありません。

引用しているアプリがおそらくしているのは、ActivityManagerを継続的にポーリングして、大量のCPU時間、RAM、およびバッテリー寿命を浪費していることです。

追跡することを提案するものは、ユーザー以外にアクセスさせることを計画している場合、CarrierIQをかなりのトラブルに巻き込んだタイプのプライバシー違反と境界を接していることに注意してください。

6
CommonsWare