我正試圖編寫一個具有兩個主要活動的Android應用程序:登錄屏幕和顯示屏幕。目前我正在設置它,以便如果用戶已經登錄,登錄屏幕將被跳過。根據條件循環啓動活動
爲了制定出要做到這一點的最好辦法,我創建了一個通用的「主」的活動,看起來是這樣的:
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
// Get preferences
SharedPreferences settings = getSharedPreferences("PREFERENCES", MODE_PRIVATE);
super.onCreate(savedInstanceState);
//setContentView(R.layout.viewusage);
//System.out.println(settings.getBoolean("LOGGEDIN", false));
if (settings.getBoolean("LOGGEDIN", false) == false)
{
Intent intent = new Intent(Main.this, Login.class);
startActivity(intent);
}
else
{
Intent intent = new Intent(Main.this, Display.class);
startActivity(intent);
}
}
}
的想法是,當有人成功登錄,登錄活動將保存用戶首選項所需的所有詳細信息,然後完成()該活動。這將返回到主要活動。我試圖做的是在沒有任何活動正在運行時,主要活動保持循環遍歷if ... else語句:因此,當登錄頁面關閉時,它將重新運行if ... else語句,並應啓動顯示活動而不是登錄活動。如果用戶從Display類註銷,則反之亦然。
我想過使用while(true)循環,但是這只是掛起程序。我想過把它放在一個單獨的線程中,但我不知道如何檢測是否已經有另一個活動正在運行,因此一個單獨的線程將保持循環並打開新的活動(我認爲,我沒有嘗試過它)
任何關於如何解決這個問題的建議?
謝謝。