I went through question and question . But with this library, I can now get a list of foreground tasks using the following code.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
ActivityManager am = ((ActivityManager) getSystemService(ACTIVITY_SERVICE));
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(5);
top = taskInfo.get(0).topActivity.getPackageName();
Log.v(TAG, "top app = " + top);
}else{
List<AndroidAppProcess> processes = ProcessManager.getRunningForegroundApps(getApplicationContext());
Collections.sort(processes, new ProcessManager.ProcessComparator());
for (AndroidAppProcess process : processes) {
if (process.foreground) {
top =process.name;
Log.v(TAG,top);
}
}
}
Here, for Android 5.0+, I get the whole running foreground process, but I canβt conclude which application is the best application.
The output for the code above (else else condition)
com.android.vending
com.google.android.gms
com.google.android.googlequicksearchbox
com.google.android.videos
com.test1
com.naag.testing
com.example.android.gettask
Here is my main application com.google.android.videos
Now, how to decide what com.google.android.videosis the main application from the above list programmatically?
How does applocker (or similar to applocker) work on 5.0+? I hope someone helps, which will be useful for someone.