2012-08-03 58 views
0

在我的應用程序中,我想在退出應用程序時單擊後退按鈕。當第一次進入應用程序時,從此屏幕上單擊返回意味着它正在退出。但如果我到了下一個屏幕並返回這個屏幕和點擊回手段去前面的屏幕不exiting.Thanks提前..正在退出應用程序

我的代碼:

public boolean onKeyDown(int keyCode, KeyEvent event) 
     {  

      if (keyCode == KeyEvent.KEYCODE_BACK) 
      {   
       finish(); 
       java.lang.System.exit(0); 

      } 
      return super.onKeyDown(keyCode, event); 
     } 
+1

你並不需要退出應用程序。你不需要調用'System.exit()'。 Android的正常行爲是當用戶按下「後退」鍵時完成活動。什麼讓你覺得你需要做其他事情? – 2012-08-03 10:56:39

+1

請參閱[退出應用程序 - 是皺眉?](http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon/2034238) – cyroxx 2012-08-03 10:56:48

回答

1

我會建議對實現這樣的功能。後退按鈕在大多數應用程序中的工作方式相同,用戶可以感到安全,因爲後退按鈕最終會將其放回主屏幕。也許TabView可能是兩種活動之間切換的更好方式?

+0

謝謝ekholm.but我有一些不同的功能..當我點擊返回窗體屏幕(從應用程序應該退出)將前一屏幕,這是我是tryong實現這.. – 2012-08-03 11:11:12

0

如果您希望後退按鈕始終在啓動器活動中按下時退出應用程序,則可以使用以下操作使其成爲單重尖叫,以便應用程序在後退時退出。

在機器人清單文件:android:launchMode="singleTask" 當使用startActivity()引導到該活動,intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

0

做一個更好的方法是通過開始使用第二活性

startActivityForResult(); 

然後,當用戶點擊後退按鈕檢查結果,覆蓋原因

onActivityResult(){} 

並完成第一項活動也是。

0

呼叫moveTaskToBack(真)你的活動(它不會殺死你的應用程序,但是從屏幕中移除)

0

你應該使用:

if (keyCode == KeyEvent.KEYCODE_BACK) 
{   
     finishAffinity(); 
}