2016-06-08 8 views
0

Wenn ich meine App öffne und die Telefontaste drücke, um alle geöffneten Anwendungen zu sehen, sehe ich das LoginActivity UND ein anderes Fenster, das HomeActivity ist, das direkt nach dem Login-Bildschirm gestartet wurde. Ich weiß nicht, ob ich hier klar bin, ich habe wahrscheinlich nicht das richtige Wort, um es zu beschreiben. Zögern Sie nicht, ausführlicher zu fragen, ob es unklar ist ...Zwei Fenster öffnen, wenn ich mich bei meiner Anwendung anmelde

Ich verstehe nicht, warum es jetzt erscheinen, ich habe nicht die Art und Weise ändern, ich meine Tätigkeit starte seit einer Weile ...

im LoginActivity Code:

private void startHomeActivity() { 

    if (dialog != null && dialog.isVisible()) 
     dialog.dismiss(); 

    final Intent intent = new Intent(ActivityLogin.this, ActivityHome.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
    // Smooth transition. 
    new Handler().postDelayed(new Runnable() { 
     public void run() { 
      startActivity(intent); 
     } 
    }, 500); 

    overridePendingTransition(R.anim.pull_in_right, R.anim.push_out_left); 
} 

im Manifest:

<activity 
     android:name=".activityv2.ActivityLogin" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:windowSoftInputMode="adjustResize"></activity> 
    <activity 
     android:name=".activityv2.ActivityHome" 
     android:label="Security Agent" 
     android:launchMode="singleInstance" 
     android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.nfc.action.TECH_DISCOVERED" /> 
      <action android:name="android.nfc.action.TAG_DISCOVERED" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.nfc.action.TECH_DISCOVERED" 
      android:resource="@xml/nfc_tag_filter" /> 
    </activity> 
+0

Ich verstehe, was Sie sagen wollen. Was passiert, wenn Sie auf das Fenster "Login" klicken? Ich denke, es wird die Home-Aktivität öffnen, und es ist nur ein Systemfehler. Und wenn nicht, dann müssen Sie die Login-Aktivität beenden, wenn Sie nicht möchten, dass sie angezeigt wird, nachdem Sie sich angemeldet haben. – Vucko

+0

Warum fügen Sie diese Flags zu der Absicht hinzu? Welchen Effekt versuchen Sie von ihnen zu bekommen? Weil sie der Grund dafür sind. –

+0

Wenn ich auf LoginActivity klicke, öffne ich einfach die Loginaktivität. Und wenn ich mich wieder anmelde, immer noch dasselbe. Ich habe 2 Fenster ... Es ist komisch – Jaythaking

Antwort

1

Ideal ly, sollten Sie Ihre LoginActivity schließen, wenn sich der Benutzer erfolgreich anmeldet - so wird nur Ihre HomeActivity angezeigt.

Also vielleicht finish() nennen - unmittelbar nach der Linie der neuen Activity Start:

new Handler().postDelayed(new Runnable() { 
     public void run() { 
      startActivity(intent); 
      //kill current activity (LoginActivity?) 
      finish(); 
     } 
    }, 500); 

Ich hoffe, das hilft.

Verwandte Themen