2014-07-20 59 views
-1

在我的應用程序,當用戶點擊退出按鈕,應用程序需要他再次登錄屏幕,當他從登錄屏幕pressess後退按鈕,舉杯看來,「U必須登錄才能繼續。重啓最小的Android應用程序

我有這樣做可以停止導航,因爲如果可以返回導航,那麼他將獲得所有先前的活動。 之後,當我按HOME按鈕退出應用程序時,它將應用程序最小化,並且每當我啓動我的應用程序時,它就從LogIn屏幕開始

我需要它從啓動屏幕啓動它..我該怎麼辦?
我已經使用thi在登錄屏幕中輸入代碼以使導航無法進行。

 @Override 
public void onBackPressed() { 


    Toast.makeText(getApplicationContext(), "You Must login to continue!", Toast.LENGTH_LONG).show(); 

    } 

使用「HOME BUTTON」退出應用程序是不是一個好主意?

回答

1

這不是你應該如何處理「lougout」 - 你有很多選擇,但不要改變「BACK」的功能。

您可以考慮使用「startActivityForResult」,然後有針對在每個活動後註銷檢查結果碼「登錄」,所以你可以控制註銷。

此外,你可以有你的啓動任務堆棧,並直接轉到「登錄」,如果用戶沒有或主頁登錄,如果他們是一個退出畫面。然後,如果調用「註銷」,清除任務堆棧,將「註銷」放在頂部,它應該完成並且僅轉到「登錄」。

事情是這樣的:

Intent logoutIntent = new Intent(c.get(), Authenticate.class); 
logoutIntent.putExtra(AUTH_STATUS, false); 
logoutIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP 
     | Intent.FLAG_ACTIVITY_CLEAR_TOP);   
startActivity(logoutIntent); 

檢查清單是一個singleTask活動:

<activity android:name=".Authenticate" 
       android:launchMode="singleTask" 
       android:label="@string/AuthenticateActName"> 
    </activity> 

然後在身份驗證確保您的登錄變量復位,並轉到您的驗證畫面。

你可能會想到其他的方法,但這些是兩個建議,已爲我工作。

+0

我用回清除棧,每當新的活動被稱爲的方法,但它採空後退導航我的意思是,當我點擊後退按鈕,我花了應用程序的..我不認爲需要我只是想摧毀全部註銷活動。 – Shanzay

+0

你可以用一些代碼來解釋你的anwer,這樣我就可以用更好的方式獲得它..請:) – Shanzay

相關問題