I use following code in service to get the current foreground of running app in android but when i open any app it shows the name of the app in which I made this service
ActivityManager am = (ActivityManager)MyService.this.getSystemService(ACTIVITY_SERVICE);
// The first in the list of RunningTasks is always the foreground task.
ActivityManager.RunningTaskInfo foregroundTaskInfo = am.getRunningTasks(1).get(0);
String foregroundTaskPackageName = foregroundTaskInfo .topActivity.getPackageName();
PackageManager pm = MyService.this.getPackageManager();
PackageInfo foregroundAppPackageInfo = null;
try {
foregroundAppPackageInfo = pm.getPackageInfo(foregroundTaskPackageName, 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
String packageName = foregroundAppPackageInfo.applicationInfo.loadLabel(pm).toString();