, который дает вам список запущенных процессов, самый последний из которых первый - поэтому, если первое приложение ваше, оно находится на вершине стека. Вероятно, не лучшее решение, но единственное, которое я мог придумать на данный момент
ActivityManager am = (ActivityManager)
getSystemService(Service.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processes;
processes = am.getRunningAppProcesses();
int i = 1;
for(ActivityManager.RunningAppProcessInfo info: processes) {
System.out.println(i++ + ": " + info.processName);
}
РЕДАКТИРОВАТЬ: Так что для ваших нужд, которые на самом деле лучше подходят, так как вам просто нужен первый
ActivityManager am = (ActivityManager)
getSystemService(Service.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processes;
processes = am.getRunningAppProcesses();
ActivityManager.RunningAppProcessInfo y = processes.get(0);
System.out.println("On top: " + y.processName);