Dans mon application Android, j'ai une activité principale qui sert de point d'entrée à ma demande, qui est configuré dans mon fichier manifeste comme ceci:de retenue état android application en utilisant alwaysRetainTaskState et lauchMode
<activity android:name=".Main"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:alwaysRetainTaskState="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Donc, pour un cas d'utilisation particulier, permet de dire qu'un utilisateur démarre l'application à partir de l'écran d'accueil en cliquant sur l'icône dans le lanceur d'application. Après le démarrage de l'application, l'utilisateur navigue de l'activité principale à l'activité A puis à l'activité B. À ce stade, l'utilisateur décide de vérifier son Facebook, il clique donc sur le bouton d'accueil pour mettre son application en arrière-plan et lance l'application facebook. Après avoir vérifié leur facebook, l'utilisateur veut retourner à mon application, ils appuient sur la touche d'accueil, et lancent l'application depuis le lanceur d'application (comme ils l'ont fait la première fois qu'il a été lancé). Lorsqu'un utilisateur retourne à mon application, je souhaite que l'application revienne à la dernière activité à laquelle l'utilisateur se trouvait lorsque l'application a été placée en arrière-plan, en l'occurrence l'activité B. Dans le fichier manifeste, j'ai Définissez alwaysRetainTaskState = true pour vous assurer que le système d'exploitation ne tue pas les activités de mon application.
Maintenant à ma question: comment puis-je obtenir le comportement que j'ai décrit ci-dessus? Chaque fois que je clique sur l'icône de mon application, elle commence toujours à l'activité principale, quoi qu'il arrive. Je pense que c'est à cause de l'attribut category.LAUNCHER. J'ai essayé android: launchMode = singleTask, mais cela n'a pas fait de différence; ça commence toujours à Main.
Si quelqu'un pouvait clarifier les filtres d'intention, les modes de lancement et les tâches, ce serait génial!
Je pense que cette question est trop vieux, et devrait être mis à jour accrding à http://developer.android.com /guide/components/tasks-and-back-stack.html –