Android 应用使用数据统计服务——UsageStatsManager
先了解下相关知识
UsageStats
UsageStats是在指定时间区间内某个应用使用统计数据的封装类。包含的公开方法及对应的作用如下:
方法 | 用途 |
---|---|
getFirstTimeStamp() | 获取指定时间区间内应用第一次使用时间戳 |
getLastTimeStamp() | 获取指定时间区间内应用最后一次使用时间戳 |
getLastTimeUsed() | 获取应用最后一次使用时间戳 |
getPackageName() | 获取应用包名 |
getTotalTimeInForeground() | 获取应用在前台的时间 |
EventStats
EventStats是在指定时间区间内某个类型事件统计数据的封装类。包含的公开方法及对应的作用如下:
方法 | 用途 |
---|---|
getCount() | 获取在指定时间区间内事件发生的次数 |
getEventType() | 获取事件类型 |
getFirstTimeStamp() | 获取指定时间区间内这个事件第一次发生的时间戳 |
getLastEventTime() | 获取这个事件最后一次发生的时间戳 |
getLastTimeStamp() | 获取指定时间区间内这个事件最后一次发生的时间戳 |
getTotalTime | 获取这个事件总共发生的次数 |
UsageEvents
UsageEvents是用来返回指定时间区间内组件状态变化事件数据的封装类,其返回的组件状态变化事件类型如下:
UsageEvents.Event:
public static final int NONE = 0;
public static final int MOVE_TO_FOREGROUND = 1;
public static final int MOVE_TO_BACKGROUND = 2;
public static final int END_OF_DAY = 3;
public static final int CONTINUE_PREVIOUS_DAY = 4;
public static final int CONFIGURATION_CHANGE = 5;
public static final int SYSTEM_INTERACTION = 6;
public static final int USER_INTERACTION = 7;
public static final int SHORTCUT_INVOCATION = 8;
public static final int CHOOSER_ACTION = 9;
public static final int NOTIFICATION_SEEN = 10;
public static final