Я пишу приложение, которое контролирует, какие приложения я использую больше всего на своем устройстве 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 часов от каждого звонка, может быть приложение, которое было вызвано более одного раза, и тогда я буду считать его только одним.
Есть ли способ получить, сколько раз приложение запускалось с учетом временного промежутка?
Я знаю, что это конкретный вопрос, но если кто-нибудь столкнулся с чем-то подобным, это было бы полезно. (возможно, что-то с намерением?)