84 votes

Android, comment ne pas détruire l'activité lorsque je fais pivoter l'appareil ?

J'ai une application qui ne fonctionne qu'en mode portrait, et j'ai fait les changements dans mon fichier manifeste pour que l'orientation de chaque activité soit le portrait. Mais lorsque je fais pivoter l'appareil, l'activité se recrée à nouveau. Comment faire pour ne pas détruire l'activité ?

1 votes

Ceci est souvent déconseillé, vous pouvez essayer de définir l'orientation de vos applications de manière programmatique avec quelque chose comme : setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) ;

7 votes

Pourquoi serait-ce contre ? Disons que nous avons un service qui prend 2 secondes pour s'exécuter. Si l'activité est détruite à chaque fois, ce service continue de s'exécuter à chaque fois alors que je n'ai besoin qu'une seule fois de l'exécuter.

0voto

androidworkz Points 2216

Regardez ce code dans Floating Image. Il a la façon la plus intéressante de gérer la rotation de l'écran. http://code.google.com/p/floatingimage/source/browse/#svn/trunk/floatingimage/src/dk/nindroid/rss/orientation

-1voto

mojtaba Points 86

Écrire dans le manifeste :

android:configChanges="orientation|screenSize|keyboardHidden"

et remplacer ceci dans l'activité qui a résolu votre problème :

 @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X