據我所知,以編程方式更改啓動程序是不可能的,但它也沒有任何意義。
在您的LoginActivity的onCreate
上檢查用戶名和標記是否已經保存,如果嘗試自動登錄,是否成功重定向到您的MainAcivity。根據您的應用程序的工作方式,您可以使用變量來檢查用戶是否登錄,如果他是LoginActivity會將其重定向到MainActivity而不嘗試再次登錄。
//LoginActivity
onCreate(Bundle bundle)
{
/* ... */
//Or whatever you use to login (it could also go inside a thread or an AsyncTask
if (login())
{
//Intent
Intent intent = new Intent(this, MainActivity.class);
//Start Activity
startActivity(intent);
//Finish this activity, so when user pressed back the login activity will not come forth and the app will exit
//this looks like when a user has logged in once, the login screen will not be visible to him (unless you want to)
finish();
}
}
您還可以配置它來保存用戶名和令牌只有在登錄成功,這意味着上面的代碼可以修改如下:
if (getUsername() != null)
{
/* Start Main Activity */
}
這不會嘗試登錄,但它知道憑證是正確的,因爲它已經至少登錄過一次。
如果您的應用程序的行爲方式不同的是,這些方法都不奏效,隨意說出這樣的話,我可能能夠提供更多信息
檢查是否使用偏好,在LoginActivity登錄,然後打開MainAcivity和完成LoginActivity如果用戶登錄 – Yazan
如果我檢查在MainActivity喜好那麼這將是更好,因爲切換到登錄活動將會發生更少的時間不, 對 ? –
可能是,它取決於你的業務,如果一旦數據被提取一次mainAcitivty被加載,那麼你可能會得到一些錯誤,如果用戶沒有登錄,否則它可能會罰款。 – Yazan