我正在編寫一個應用程序,用於監視最近啓動的應用程序或更精確地測試 - 測試每個應用程序啓動的次數。有沒有辦法知道最近的應用程序何時啓動?
對於這個我使用:
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", "Application executed: " + i + ": baseIntent: " + baseIntent.getComponent().getPackageName() + baseIntent.getComponent().getClassName());
}
的問題是,它是不夠的。因爲如果一個應用程序啓動了3次,我只會得到它一次。
爲此,我需要知道應用何時開始。
感謝您的回覆,是的,我知道,這是它以前的實施方式。 問題在於它重讀了幾個小時的日誌。或更令人不安的是,日誌是不同的設備到另一個,它可能會改變未來的版本... – ZiviMagic 2012-02-26 12:41:33