If u want to check continuously start background thread.
private Handler handler;
private Runnable _runnable;
private void startThread() {
handler=new Handler();
_runnable = new Runnable() {
public void run() {
checkRunningApplications();
handler.postDelayed(_runnable, 500);
}
};
_runnable.run();
}
private void checkRunningApplications() {
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> runningTasks = activityManager.getRunningTasks(1);
RunningTaskInfo runningTaskInfo = runningTasks.get(0);
ComponentName topActivity = runningTaskInfo.topActivity;
System.out.println(topActivity.getPackageName());
}
Mention below permission in Manifest file:
<uses-permission android:name="android.permission.GET_TASKS" />