Полагаю, вам нужно взглянуть на ActivityManager class .Я кратко посмотрел на документы, и это то, что я придумал.
Есть функция:
public List<ActivityManager.RunningTaskInfo> getRunningTasks (int maxNum)
Из документов Android :
Возвращает список задач, которые в данный момент выполняются, причемпоследние были первыми, а старые - по порядку.Обратите внимание, что «выполнение» не означает, что какой-либо код задачи в данный момент загружен или активен - задача могла быть заморожена системой, чтобы ее можно было перезапустить в своем предыдущем состоянии при следующем выводе на передний план.
Я бы подумал, что если вы передадите maxNum=1
, он должен дать вам самую последнюю задачу, которая была запущена, т.е.главная задача.Каждый ActivityManager.RunningTaskInfo
имеет свойство, которое называется topActivity
.
public ComponentName topActivity
Из Документов Android : Компонент действия наверху стека истории задачи.Это то, что пользователь сейчас делает.