2014-05-16 47 views
8

我有兩個活動,第一個是飛濺活動。 我想知道如何退出第二項活動的應用程序到主頁。 我已經使用了這種方法,但它需要發射。以編程方式退出android應用程序

public void AppExit() 
{ 

    this.finish(); 
    Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.addCategory(Intent.CATEGORY_HOME); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(intent); 


} 
+2

應該帶你到家庭頁面,這就是你要告訴它做的事情。你究竟是什麼意思'顯示應用程序圖標所在的菜單? – zgc7009

+0

對不起,其實它需要到啓動器,我想它退出到主頁 – choco

+1

可能重複的[關閉應用程序和Android上啓動主屏幕](http://stackoverflow.com/questions/2042222/close-應用程序和發射主屏幕在Android) – ugo

回答

30

每當你想退出所有打開的活動,您應該按它加載,當你的應用程序啓動,然後清除所有其他活動,然後讓剩下的最後活動結束運行的第一個活動的按鈕。這樣做在您的項目中應用以下代碼

Intent intent = new Intent(getApplicationContext(), FirstActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.putExtra("EXIT", true); 
startActivity(intent); 

以上代碼完成除FirstActivity以外的所有活動。然後,我們需要完成FirstActivity的輸入Firstactivity的OnCreate

if (getIntent().getExtras() != null && getIntent().getExtras().getBoolean("EXIT", false)) { 
    finish(); 
} 

和你做下面的代碼....

Finish all activities at a time

+0

謝謝,這正是我想要的。感謝您的解釋太^ _^ – choco

+1

您可以使用this.finishAffinity() – Jacky

1

要完成某種活動或退出程序,試試這個..

public void exitApp(View v) 
{ 

finish(); 

} 

&如果您選擇退出應用程序,請使用此選項。

android:onClick="exitApp"

1

這是最乾淨的方式,我所遇到的:

moveTaskToBack(true); 
finish(); 
10

當你想關閉應用程序,你可以叫

finishAffinity();

,或者如果你想關閉它在後臺,你也應該寫,

機器人:excludeFromRecents = 「真」

在AndroidManifest

 <activity 
     android:name="com.smart.remote.main.SplashActivity" 
     android:configChanges="orientation|keyboardHidden" 
     android:screenOrientation="portrait" 
     android:excludeFromRecents="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
+2

finishAffinity()僅適用於API> 14(4.0) – juzamn

+0

它的工作就像魅力 –

相關問題