2014-03-27 102 views
0

我有一個應用程序,它受密碼保護以阻止未經授權的數據訪問。清除android堆棧並始終在某些活動上啓動應用程序

我要問的是:

當應用程序使用home鍵關閉,然後重新打開我需要它去LoginActivity,我想我已經整理本採用了android:launchMode =「singleTask」

但是,如果我按下後退按鈕,它將我帶回菜單而不需要再次登錄 - 因此它會繞過密碼?

你能幫忙嗎?

回答

0

在您的活動中,在通過按回家進入背景之前,設置用戶已註銷或清除會話的標誌。

然後onResume您的活動,檢測用戶的標誌是否仍然登錄或會話仍然有效。如果無效。然後發送一個意圖打開您的登錄活動。

因此,即使您按回,恢復的活動將驗證用戶是否仍然登錄或會話仍然有效。

+0

謝謝你。你能幫助一個可能需要的代碼示例嗎? –

0

創建一個標誌,指示用戶是否登錄的自定義應用程序類。

public class MyApplication extends Application { 
    boolean loggedIn; 
} 

在你的活動,那麼你可以檢查用戶是否登錄。如果不是,他們返回登錄活動。

protected void onCreate(Bundle savedInstanceState) { 
    MyApplication app = ((MyApplication) getApplicationContext()); 
    if (!app.loggedIn) { 
     Intent intent = new Intent(this, LoginActivity.class); 
     //go to old activity 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent); 
    } 
} 
相關問題