2016-09-22 5 views
1

Как определить, когда приложение Android переходит на задний план? onPause() работает, но также называется, когда ориентация изменилась.Как определить, когда приложение Android сведено к минимуму?

+0

Возможная Дубликат [Определение текущего приложения переднего плана от фоновой задачи или службы] (http://stackoverflow.com/questions/2166961/determining-the-current-foreground -application-from-a-background-task-or-service) –

ответ

1

Если ориентация меняется приложение будет вызывать через жизненный цикл еще раз, что означает, что из OnCreate

вы можете избежать этого, а также в письменной форме нижеследующее для обозначения манифеста

<activity 
     android:name="" 
     android:configChanges="orientation|keyboardHidden|screenLayout|screenSize" 
     android:label="@string/app_name" /> 

это говорит системе, что при изменении ориентации или изменениях в клавиатуре или экранеLayout я сам справляюсь с ней, не нужно ее создавать.

затем написать свой код на паузе на

+0

Спасибо. Он отлично работает –

+0

Ok happy encoding –

2

Попробуйте

@Override 
    protected void onUserLeaveHint() 
    { 
     // When user presses home page 
     Log.v(TAG, "Home Button Pressed"); 
     super.onUserLeaveHint(); 
    } 

Для деталей: https://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()

+0

Мне нужно завершить работу, когда приложение переходит в фоновый режим. onUserLeaveHint также вызывается при изменении ориентации. Так что это не работает для меня –