-4
我是新開發的android應用程序,我試圖檢查會話是否登錄,如果用戶登錄,它不應該顯示啓動畫面,但它的用戶沒有登錄,它應該顯示3秒的啓動畫面。安卓啓動畫面計時器插件
但閃屏是顯示所有的時間,所以我覺得我做錯了與if/else語句的事情,希望有人能幫助我與:)
public class SplashScreen extends Activity {
// Splash screen timer
private static int SPLASH_TIME_OUT = 3000;
private SessionManager session;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Session manager
session = new SessionManager(getApplicationContext());
// Check if user is already logged in or not
if (session.isLoggedIn()) {
// User is already logged in. Take him to main activity
new Handler().postDelayed(new Runnable() {
/*
* Showing splash screen with a timer. This will be useful when you
* want to show case your app logo/company
*/
@Override
public void run() {
// This method will be executed once the timer is over
// Start your app login activity
Intent i = new Intent(SplashScreen.this, LoginActivity.class);
startActivity(i);
// close this activity
finish();
}
}, SPLASH_TIME_OUT); } else {
setContentView(R.layout.splash_screen);
}
}
}
可以不同的角度思考這一點。在檢查他們的登錄狀態時,如果他們已登錄,則顯示/隱藏所需的佈局元素,以便產生飛濺效果並保持您的Handler原樣。如果他們沒有登錄,那麼在你的流程中啓動下一個活動,並「完成()」當前活動以解除它。 – keno