我正在编写一个应用程序,它监视我在Android设备中使用的最多的应用程序。监控最近的应用程序
要做到这一点,我使用:
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RecentTaskInfo> recentTasks = activityManager.getRecentTasks(20, ActivityManager.RECENT_WITH_EXCLUDED);
for (int i = 0; i < recentTasks.size(); i++) {
Intent baseIntent = recentTasks.get(i).baseIntent;
if(baseIntent != null) {
Log.d("Text", "Lior: Application executed: " + i + ": baseIntent: " + baseIntent.getComponent().getPackageName() + baseIntent.getComponent().getClassName());
}
的问题,这是只给了我最近的应用程序,而不是每个应用程序了多少次启动。
要检查最近的应用程序,我检查应用程序现在是否比上次检查时更新 - 这种方式我知道它已运行。
由于每次通话时间约为3小时,可能会有一个应用程序被多次调用,然后我只会将其计为一次。
有没有办法接收一个应用程序在给定时间差的情况下启动了多少次?
我知道这是一个具体的问题,但如果有人遇到类似的情况,这将是有益的。 (也许是有意图的东西?)