2015-09-06 1 views
-1

J'ai une application de chat, ce que je veux faire est de terminer l'application lorsque le téléphone se met en veille ou quand il va à l'arrière-plan. Je l'ai fait:Terminer l'application lorsque le téléphone se met en veille et enregistrer l'historique

@Override 
public void onPause() { 
    finish(); 
    super.onPause(); 
} 

Ce qui se passe après est que le bouton retour (ou barre d'action en arrière) ne va pas à l'activité précédente, mais à la place principale activité. L'historique de l'application n'est plus sauvegardé. J'ai besoin de sauvegarder l'historique mais en même temps terminer l'application en veille ou en arrière-plan. Comment puis-je faire ceci?

Répondre

0

vous devez utiliser le récepteur de diffusion pour cela, alors vous pouvez faire toutes les modifications que vous pouvez faire une fois votre onReceive() appelé.

Dans votre manifeste ajouter le récepteur et le filtre comme celui-ci l'intention

<receiver android:name=".ScreenOnOffReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.SCREEN_ON" /> 
     <action android:name="android.intent.action.SCREEN_OFF" /> 
    </intent-filter> 

Et vous pouvez mettre toute votre logique dans votre code java.

public class ScreenOnOffReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
    if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) 
    { 
        // some code 
    } 
      if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) 
    { 
        // put your all logic here 
    } 
} 

}

Espérons que cela aidera.