我正在編寫一個應用程序,它監視我在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小時,可能會有一個應用程序被多次調用,然後我只會將其計爲一次。
有沒有辦法接收一個應用程序在給定時間差的情況下啓動了多少次?
我知道這是一個具體的問題,但如果有人遇到類似的情況,這將是有益的。 (也許是有意圖的東西?)