2016-09-22 2 views
1

Comment détecter lorsqu'une application Android passe en arrière-plan? onPause() fonctionne mais il est également appelé lorsque l'orientation est modifiée.Comment détecter lorsqu'une application Android est réduite?

+0

double possible de [Détermination de l'application de premier plan en cours d'une tâche d'arrière-plan ou service] (http://stackoverflow.com/questions/2166961/determining-the-current-foreground -application-à partir d'un arrière-plan-tâche-ou-service) –

Répondre

1

Si l'orientation change l'application va appeler à travers le cycle de vie une fois que cela signifie de oncreate

vous pouvez l'éviter ainsi par écrit ce qui suit pour coder le manifeste

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

cela indique au système que lorsque l'orientation change ou que keyboardHidden ou screenLayout changent, je vais le gérer par moi-même sans avoir besoin de le créer à nouveau.

puis rédigez votre code sur pause sur

+0

Merci. Cela fonctionne bien –

+0

Ok codage heureux –

2

Essayez cette

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

Pour plus de détails: https://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()

+0

J'ai besoin de terminer l'activité lorsque l'application passe en arrière-plan. onUserLeaveHint également appelé lorsque l'orientation a changé. Donc ça ne marche pas pour moi –