Skip to content

Instantly share code, notes, and snippets.

@massimilianochiodi
Created April 15, 2022 09:37
Show Gist options
  • Save massimilianochiodi/4e7ec7722e69bbddeee3cd5155967ae3 to your computer and use it in GitHub Desktop.
Save massimilianochiodi/4e7ec7722e69bbddeee3cd5155967ae3 to your computer and use it in GitHub Desktop.
Check if app is in foreground or not (java)
class ForegroundCheckTask extends AsyncTask<Context, Void, Boolean> {
@Override
protected Boolean doInBackground(Context... params) {
final Context context = params[0];
return isAppOnForeground(context);
}
/**
* Ritorna true se l'app è in background
* @param context: il context dell'app
* @return : true se l'app è in background
*/
private boolean isAppOnForeground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
assert activityManager != null;
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
if (appProcesses == null) {
return false;
}
final String packageName = context.getPackageName();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && appProcess.processName.equals(packageName)) {
return true;
}
}
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment