2013-04-26 31 views
0

單擊後退按鈕時出現問題。它繼續前面的活動。用戶可以登錄以使用該應用程序。但問題出在用戶註銷時,點擊後退按鈕,它會顯示'登錄'面板頁面。如果用戶想要退出應用程序,他們將不得不經歷多次點擊。這不是我想要的。當點擊後退按鈕時,繼續顯示上一個意圖

當然,我可以使用菜單,並有一個選項讓用戶退出應用程序,但我不想使用這種方法,因爲它不是一種常用的方法。這不是很好,因爲通常用戶會回到第一頁並提示他們是否要退出。

我該如何解決意圖問題?

回答

0

如果您不希望通過回堆棧訪問的活動中,將修改其在AndroidManifest.xml中的條目像這樣:

<activity 
    android:name="com.myDomain.myApp.MyActivity" 
    android:label="My Activity" 
    android:noHistory="true" > 
</activity> 

如果你只是想以確保之前的活動中不顯示您可以在每個調用finish()的活動中添加一個處理程序,然後從當前活動中調用它。

一次活動:

public void goAway() 
{ 
    finish(); 
} 

當前活動:

previousActivity.goAway(); 

當然,你需要在當前的活動到先前活動的參考。

+0

如何創建參考?是否,如果我以前的活動有一個名爲HelloWorld.java的java文件,我叫出HelloWorld.goAway();? – OneNation 2013-04-26 03:39:09

0

如果您想保留後退堆棧並僅在用戶註銷或從註銷的屏幕上退出按鈕時將其清除,則可以執行以下操作。

1:通過調用startActivityForResult(intent, REQUEST_CODE)具有相同REQUEST_CODE

2啓動每個活動:在每個Activity覆蓋onActivityResult()並添加以下代碼片,

if(resultCode == RESULT_OK && requestCode == REQUEST_CODE) { 
    setResult(OK); 
    finish(); 
} 

3:當用戶註銷時或者當返回鍵從註銷的屏幕上按下,請執行以下操作:

setResult(OK); 
finish(); 

這將確保在用戶退出後清除後堆棧中的所有活動。

相關問題