2016-06-08 21 views
0

當我打開我的應用程序並按下手機按鈕查看所有打開的應用程序時,我看到LoginActivity和另一個窗口,即在登錄屏幕後立即啓動的HomeActivity。我不知道我是否清楚,我可能沒有合適的詞來形容它。不要猶豫,問更詳細,如果還不清楚...當我登錄到我的應用程序時打開兩個窗口

我不明白爲什麼它現在出現,我沒有改變我發動因爲我而活動的方式......

在LoginActivity代碼:

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); 
} 

在清單:

<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

我明白你想說什麼。如果您點擊「登錄」窗口會發生什麼?我認爲它會打開家庭活動,這只是一個系統的「錯誤」。如果不是,那麼如果你不想在登錄後顯示登錄活動,那麼你需要終止登錄活動。 – Vucko

+0

爲什麼要將這些標誌添加到意圖中?你試圖從他們那裏得到什麼影響?因爲他們是這個原因。 –

+0

當我點擊LoginActivity時,它只是重新打開登錄活動。如果我重新登錄,仍然是一樣的。我有2個窗口...它的奇怪 – Jaythaking

回答

1

理想如果用戶成功登錄,則應關閉LoginActivity - 這樣,只會顯示您的HomeActivity

因此,或許稱之爲finish() - 行啓動新Activity後:

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

我希望這有助於。

相關問題