Android: почему активность находится в onPause?

Я должен знать, отображается ли моя активность или нет. Я бы использовал метод onPause и onResume, но я также хочу знать, почему активность находится в onPause.... Есть 3 случая:

  1. Активность в onPause, потому что дисплей выключается
  2. Активность в onPause, потому что пользователь нажал кнопку «Домой»
  3. Активность в onPause, потому что пользователь нажал кнопку «Домой» и выключил экран

Как я могу сделать ? Спасибо

РЕДАКТИРОВАТЬ: я решил с помощью этого кода:

ActivityManager activityManager = (ActivityManager)getContext().                .getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningTasks = activityManager.getRunningTasks(Integer.MAX_VALUE));

person MimmoG    schedule 21.03.2012    source источник
comment
Вам следует более внимательно ознакомиться с жизненным циклом активности Android.   -  person Blackbelt    schedule 21.03.2012
comment
Думаю в этих трех случаях активность не проявляется. Когда активность переводится в фоновый режим или уничтожается, всегда вызывается метод onPause.   -  person Frank Cheng    schedule 21.03.2012


Ответы (2)


*1.* Активность в onPause, потому что дисплей выключается, и если появляется какой-либо вызов, :onPause() вызывается

*2.*Активность в onPause, поскольку пользователь нажал кнопку "Домой": onUserLeaveHint() вызывается до onPause(), если пользователь нажимает кнопку "Домой"

*3.*Когда пользователь нажимает клавишу "Назад", :onUserInteraction() вызывается перед onPause()

person ρяσѕρєя K    schedule 21.03.2012
comment
Я искал способ изменить поведение выхода моего приложения в зависимости от того, был ли я onPause из-за телефонного звонка или какого-либо другого взаимодействия. onUserLeaveHint() и onUserInteraction() работают намного лучше, чем предложения, которые я видел о том, как следить за тем, чтобы телефон звонил, которые работали только с перерывами. - person Gdalya; 16.05.2012

Когда вы переходите из одного действия в другое действие, вызывается действие, из которого вы покидаете это действие onPause. Если вы хотите поэкспериментировать, создайте всю функцию. Внутри вызова onStart вызывается другая активность onPause первой активности.

Для получения дополнительной информации, пожалуйста, перейдите по ссылке ниже:

http://developer.android.com/guide/topics/fundamentals/activities.html

person mayur rahatekar    schedule 21.03.2012