24

AppUsageのようにAndroidでアプリの使用状況を追跡する必要があります(つまり、アプリの起動数とそれぞれの使用に費やした時間を追跡します)。私が計画しているのは、アプリが起動したときの開始時刻を記録し、アプリが一時停止または停止したときの終了時刻を取得することです。LogCatでは、アクティビティの開始のログを確認できます。利用可能なシステムブロードキャストを確認しましたが、アクティビティが開始されるたびにブロードキャストするものがあるかどうかはわかりません。。基本的に、アクティビティが開始されたことを検出するにはどうすればよいですか?

*#*#4636#*#*編集:さらに、Androidには、スペアパーツアプリまたはダイヤルしたときに見つけることができる内部で利用可能な使用統計システムもあります([テスト]-> [使用統計])

4

2 に答える 2

16

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

アプリごとに、システムは次のデータを記録します。

  • アプリが最後に使用された時間
  • その時間間隔(日、週、月、または年)でアプリがフォアグラウンドにあった合計時間
  • コンポーネント(パッケージとアクティビティ名で識別される)が1日の間にフォアグラウンドまたはバックグラウンドに移動したときのタイムスタンプキャプチャ

  • デバイス構成が変更されたときのタイムスタンプキャプチャ(回転によってデバイスの向きが変更されたときなど)

参照: http://developer.android.com/reference/android/app/usage/package-summary.html

于 2015-01-15T09:50:54.117 に答える
6

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

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

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

追跡することを提案するものは、ユーザー以外の誰かにアクセスさせることを計画している場合、CarrierIQにかなりの問題を引き起こしたタイプのプライバシー違反に隣接することに注意してください。

于 2012-01-26T00:35:43.023 に答える