2016-04-30 99 views
2

我的android應用程序有3個屏幕。完成以前的活動按鈕點擊android

  • 屏幕1(主屏幕)
  • 屏幕2
  • 屏幕3

屏幕1點開始屏幕2點屏幕2開始屏幕3.

我已經添加了一個名爲按鈕在屏幕3上退出。我想要的是當用戶按下此按鈕時,屏幕1和屏幕2的活動應該完成。

+0

你想退出應用程序或清空你的活動堆棧? – sushildlh

+0

當您將意圖傳遞給另一個活動時完成第一個activity.like Intent i = new Intent(getApplicationContext(),Screen2.class); \t \t \t \t startActivity(i); \t \t \t \t finish();你在screen1.class中編寫這段代碼,所以Screen1在那裏完成activity.tell它它正在工作。 –

+0

按退出按鈕屏幕3會發生什麼情況? – Apurva

回答

3

當您按屏幕3中的退出按鈕時,您可能會啓動另一個活動,該活動將會停止堆棧中的所有其他活動並將自行關閉。這是我的工作示例。

public class ExitActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     if (android.os.Build.VERSION.SDK_INT >= 21) { 
      finishAndRemoveTask(); 
     } else { 
      finish(); 
     } 
    } 

    public static void exitApplication(Context context) { 
     Intent intent = new Intent(context, ExitActivity.class); 

     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 

     context.startActivity(intent); 
    } 
} 

所以你需要調用exitApplication功能在您退出按鈕onClick

+1

感謝兄弟的幫助 – Eagle

0

退出按鈕單擊寫入以下代碼:

Intent intent = new Intent(getApplicationContext(), Home.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 

這將清除所有以前的活動。

+0

假設'家庭'活動是屏幕三,那麼它將清除活動堆棧和*重新啓動*活動,這是解決方法,但不是確切的解決方案。 – Apurva

相關問題