How to Track App Usage in Android? How to detect when an activity is launched?

蓝咒 提交于 2019-11-27 11:36:05

We can now access app usage history on an Android device with the new android.app.usage API released as part of Android 5.0 APIs.The system collects the usage data on a per-app basis, aggregating the data over daily, weekly, monthly, and yearly intervals

For each app, the system records the following data:

The last time the app was used The total length of time the app was in the foreground for that time interval (by day, week, month, or year) Timestamp capturing when a component (identified by a package and activity name) moved to the foreground or background during a day Timestamp capturing when a device configuration changed (such as when the device orientation changed because of rotation)

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

Basically, how do I detect when an activity is launched?

You don't. There is nothing in the Android SDK for "the start time when an app is launched" nor "the end time when an app is paused or stopped".

What the app you cite is probably doing is wasting a lot of CPU time, RAM, and battery life, polling ActivityManager continuously.

Bear in mind that what you propose to track, if you plan on having anyone other than the user access it, borders on privacy violations of the type that got CarrierIQ in a fair amount of trouble.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!