У меня есть решение.android: как проверить, работает ли приложение в фоновом режиме 2
public static boolean isApplicationSentToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}
Он отлично работает.
Как я могу проверить, действительно ли мое приложение действительно в фоновом режиме? Например, я открыл активность и начал новую Activity - стандартную галерею (начал с моего приложения). Это намерение было начато с моей деятельности, а мое приложение логически было на переднем плане. Я могу проверить свои действия, но как проверить эту ситуацию?
И как я могу проверить, что приложение было отправлено на задний экран из внешней активности (в этом примере - галерея)?
Вы проверяете наличие у вас услуги? –
Я думаю, что сервис - это не очень хорошая идея ... Я проверяю его из Activity onPause method – monyag
Зачем вам нужно проверять? Если вы проверяете свою активность, то, очевидно, что все действия на этом этапе остаются на переднем плане для запуска кода. Ваша деятельность может быть в процессе уничтожения, но ваш код паузы приведет вас к тому, что он будет отправлен на задний план. –