我有一個應用程序,它受密碼保護以阻止未經授權的數據訪問。清除android堆棧並始終在某些活動上啓動應用程序
我要問的是:
當應用程序使用home鍵關閉,然後重新打開我需要它去LoginActivity,我想我已經整理本採用了android:launchMode =「singleTask」
但是,如果我按下後退按鈕,它將我帶回菜單而不需要再次登錄 - 因此它會繞過密碼?
你能幫忙嗎?
我有一個應用程序,它受密碼保護以阻止未經授權的數據訪問。清除android堆棧並始終在某些活動上啓動應用程序
我要問的是:
當應用程序使用home鍵關閉,然後重新打開我需要它去LoginActivity,我想我已經整理本採用了android:launchMode =「singleTask」
但是,如果我按下後退按鈕,它將我帶回菜單而不需要再次登錄 - 因此它會繞過密碼?
你能幫忙嗎?
在您的活動中,在通過按回家進入背景之前,設置用戶已註銷或清除會話的標誌。
然後onResume您的活動,檢測用戶的標誌是否仍然登錄或會話仍然有效。如果無效。然後發送一個意圖打開您的登錄活動。
因此,即使您按回,恢復的活動將驗證用戶是否仍然登錄或會話仍然有效。
創建一個標誌,指示用戶是否登錄的自定義應用程序類。
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);
}
}
謝謝你。你能幫助一個可能需要的代碼示例嗎? –