У меня есть таймер, который запускает уведомление, когда оно заканчивается. Но я хотел бы запускать уведомление с помощью notificationManager, только если приложение в настоящее время не отображается, и отображать alertDialog, если таймер завершается, когда приложение находится на переднем плане.
Я уже пробовал с этим:
ActivityManager actMngr = (ActivityManager) ValeoMobileApplication.getContext().getSystemService(Activity.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> runningAppProcesses = actMngr.getRunningAppProcesses();
Tools.log("TimerBroadcastReceiver", "onReceive", "All running processes are listed below :");
for (RunningAppProcessInfo pi : runningAppProcesses) {
//Check pi.processName and do your stuff
//also check pi importance - check if process is in foreground or background
Tools.log("TimerBroadcastReceiver", "onReceive", pi.processName + " importance = "+pi.importance);
if(pi.processName.equalsIgnoreCase("MY_APP_PROCESS_NAME")){
if (pi.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
isApplicationInForeground = true;
}
}
}
Но кажется, что не имеет значения, находится ли приложение на переднем плане или нет. Как это сделать?