2010-11-30 34 views
2

Mon application Android dispose d'un écran de connexion qui est lancé comme l'activité principale avec les intentions comme suit:activités reprennent du lanceur homescreen dans l'émulateur, mais pas sur l'appareil Android

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

Rien d'autre est hors de l'ordinaire (que je suis au courant, concernant les autres activités, etc., pas d'intentions additionnelles sur celles-ci ou quoi que ce soit). Avec l'émulateur, si je me connecte et que la deuxième activité est lancée, j'appuie sur le bouton d'accueil, si je lance à nouveau l'application à partir d'un raccourci sur l'écran d'accueil, la tâche revient à la deuxième activité. C'est le comportement souhaité, car je ne veux pas que l'utilisateur se connecte encore et encore. Avec à la fois un HTC Incredible et un Droid X (seulement les téléphones auxquels j'accède), si je me connecte et que la seconde activité démarre, puis appuyez sur le bouton home, si je relance l'application depuis un raccourci d'écran d'accueil, il lance toujours l'activité de connexion, qui n'est pas le résultat souhaité. Je veux qu'il reprenne à la deuxième activité où je me suis arrêté.

Quelqu'un a-t-il un aperçu de la raison pour laquelle cela fonctionne comme prévu avec l'émulateur mais pas sur les téléphones? Merci beaucoup.

+0

Eh bien, avez-vous quelque chose dans le code qui justifie le fait que vous le voyez revenir à la deuxième activité dans l'émulateur? Utilisez-vous onPause et onResume? Il est également possible que ces périphériques aient des gestionnaires de tâches qui détruisent votre application. –

+0

A la lecture de la documentation, j'avais l'impression que cela devrait fonctionner comme sur l'émulateur et que la gestion de onPause ou onResume n'était pas nécessaire. Aussi, sur la note tueur de tâche, si je clique en arrière quand je lance l'application la deuxième fois, je vais de l'écran de connexion à l'activité que j'espérais aurait été reprise. La pile d'activités semble donc intacte. – offthat

+0

Je viens également de découvrir que si je reprends l'application en maintenant le bouton de l'écran d'accueil enfoncé et en sélectionnant l'application de la liste récemment utilisée qui s'affiche, elle reprend la dernière activité sur laquelle je me trouvais. Il semble donc que ce soit un problème du raccourci du lanceur d'applications ou d'un raccourci sur l'écran d'accueil. – offthat

Répondre

0

Je l'ai compris. J'avais complètement désinstallé l'application et supprimé le raccourci de mon écran d'accueil sur le téléphone. Ensuite, il a commencé à travailler. Ma conjecture est que c'était le vieux raccourci sur l'écran d'accueil tenant à des intentions ou quelque chose d'incertain (parce que je suis assez sûr que je l'ai désinstallé quelques fois en vain). Une fois que tout a été désinstallé/réinstallé et qu'un nouveau raccourci a été créé sur l'écran d'accueil, il fonctionne comme prévu. J'espère que ceci aide quelqu'un d'autre.

0

J'ai le même comportement sur mon HTC Desire. Si j'installe l'apk de mon ordinateur soit en utilisant Eclipse ou par ligne de commande via

adb install

tout va bien. Si j'installe à partir du fichier sur le téléphone, j'obtiens le comportement que vous décrivez. Je me demande ce que l'installation/mise à jour via le marché fait, mais j'ai peur de le donner comme ça aux utilisateurs. La différence par rapport à votre cas est que la désinstallation ne change rien. Des idées?

+1

Utilisez-vous le raccourci dans la zone du programme de lancement qui est installé sur la nouvelle installation pour exécuter l'application? C'était une combinaison d'une désinstallation et d'une suppression de raccourci qui a permis à la mienne de commencer à fonctionner comme prévu. Je pense que la suppression de raccourci seul aurait très probablement fait l'affaire. – offthat