2017-03-08 4 views
-1

J'ai construit une application qui affiche des informations d'une ville.Activité Android fermer automatiquement

J'ai passé avec succès quelques tests avec mon Samsung Galaxy S5 et sur quelques appareils supplémentaires en utilisant l'émulateur intégré d'Android Studio. Si j'utilise par exemple le Samsung S3 Mini (Android 4.1.2, 1Go Ram), il ouvre la première activité. Dans l'activité principale, je construit une déclaration de cas de commutation pour passer à mes autres activités:

switch (v.getId()) { 

     case R.id.aktuelles: 
      Log.d(Constants.TAG, "aktuelles wurde geklickt"); 
      i = new Intent(getApplicationContext(), NewsActivity.class); 
      startActivity(i); 
      finish(); 
      break; 

     case R.id.ideen_maengel: 
      Log.d(Constants.TAG, "ideen_maengel wurde geklickt"); 
      openSubMenu(ideen_maengel_sub, ideenmaengel_arrow_top, ideenmaengel_arrow_bottom); 
      scrollView.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        scrollView.smoothScrollTo(0, ideen_maengel.getTop()); 
       } 
      }, 1); 
      break; 

     case R.id.neue_meldung: 
      Log.d(Constants.TAG, "neue_meldung wurde geklickt"); 
      i = new Intent(getApplicationContext(), MaengelActivity.class); 
      startActivity(i); 
      break; 

Après avoir cliqué sur le bouton, il se déplace dans l'activité, mais se ferme immédiatement l'activité au bout de 2 secondes et se déplace automatiquement à la précédente Activité principale. Cela ressemble à un problème de tas, c'est pourquoi je ne peux pas mettre en cache l'activité.

Sur des appareils tels que le Samsung Galaxy S4 ou des appareils avec des niveaux API supérieurs, cela fonctionne parfaitement.

Est-ce que quelqu'un a des idées sur la façon de résoudre cette erreur?

Certains utilisateurs ont le même problème avec les appareils suivants:

  • Galaxy S3 Neo plus
  • HTC Desire 610
  • Galaxy S4 Mini
  • Xperia X Compact
+0

Y a-t-il une erreur dans votre journal? Quelle est votre prochaine activité 'oncreate'? – pooyan

+0

WAIT_FOR_CONCURRENT_GC bloqué 1ms demande de finition en double pour ActivityRecord {u0 ad37c7d8 de.bluebox.dirk.casapp/.MenuActivity t2 f} MARCHE {u0 = cmp de.bluebox.dirk.casapp/.MenuActivity} de pid 2620 startActivity appelé à partir de contexte de non-activité; forcent Intent.FLAG_ACTIVITY_NEW_TASK pour: Intent {cmp = de.bluebox.dirk.casapp/.MenuActivity} GC_FOR_ALLOC libéré 1059K, 10% gratuit 57284K/62992K, mis en veille 4ms, total 6ms GC_FOR_ALLOC libéré 12873K, 25% gratuit 56954K/75536K, mis en veille 6ms, total 6ms Affiché de.bluebox.dirk.casapp/.MenuActivity: + 205ms –

+0

START u0 {cmp = de.bluebox.dirk.casapp/.MenuActivity} de pid 2620 startActivity appelé depuis le contexte de non-activité; forcer Intent.FLAG_ACTIVITY_NEW_TASK pour: Intent {cmp = de.bluebox.dirk.casapp /.MenuActivity} Evénement de journalisation (FE): _e, Bundle [{_ o = auto, _et = 1883, _sc = MenuActivity, _si = -3993089302546656757}] –

Répondre

-1

Quel bouton est ce que ca? Quel commutateur est touché?

Je parie que c'est le premier qui ne ...

startActivity(i); 
    finish(); 

^Pourquoi fais-tu fini? Votre activité sera mise en pause, arrêtée et peut-être détruite après que vous ayez accédé à une autre, vous n'avez pas besoin de terminer celle en cours.

+0

finish() n'était qu'un test pour détruire l'activité précédente pour nettoyer le tas. ça ne marche pas aussi. –

+0

Ensuite, supprimez-le de la question. Aussi, pouvez-vous fournir un journal de plantage dans un format normal, éditer votre question et expliquer votre problème, nous ne pouvons pas effectuer de magie et vous dire pourquoi votre application se ferme sans voir le code et le journal de plantage. Si vous n'aviez pas de problème, vous ne publieriez pas la question, donc l'ensemble de l'activité suivante 'oncreate' ne fait que définir ContentView, vérifier la connexion internet et définir un événement click pour un bouton retour_ n'est évidemment pas vrai, quelque chose que vous faites est faux et nous essayions d'aider. –

0

Sélectionnez simplement le Aucune option de filtre dans le logcat. Vous serez en mesure de trouver la raison derrière l'application à proximité. Ensuite, vous pouvez le comprendre.

J'ai fait face à cette situation lorsque j'essayais de récupérer les données de l'URL qui n'existe pas.