2015-10-01 42 views
0

我構建了一個可以讓用戶登錄的Android應用程序,使用SharedPreferences來存儲用戶會話。檢查用戶是否在打開Android應用程序時登錄

我想檢查用戶會話是否存在於應用程序啓動時,我目前的解決方案是:當用戶打開應用程序時,會輸入一個EntryActivity。如果用戶的會話在SharedPreferences中有效,那麼我將爲主要內容啓動另一個MainActivity。否則,我打開SignUpActivity

有沒有其他途徑或共同模式來實現這一目標?

+1

@chanbenny:這是'standard'或'current'或機器人進行檢查登錄'common'模式.. !!! – AndiGeeky

+1

這是做到這一點的方法。但是你可以隨時修改和改進它的實現。一般而言,概念保持不變 –

+1

如果您正在開發商業應用程序並且擁有預算,那麼內置的認證庫(如Microsoft Azure認證庫)也可用於移動設備。這樣,您可以爲更少的工作提供更好的保護。如果您正在開發客戶端服務器應用程序,並且不想使用外部庫,請將答案發送給登錄詳細信息,並讓服務器進行身份驗證並返回響應。 – logcat

回答

1

你可以把這段代碼在你的飛濺活動:

if(prefs.getBoolean("isUserLogin", false)){ 
       startActivity(new Intent(SplashActivity.this, MainActivity.class)); 
       finish(); 
      }else{ 
       startActivity(new Intent(SplashActivity.this, LoginActivity.class)); 
       finish(); 
      } 
+0

這就是我現在所做的。 – changbenny

+0

是的,這是標準的方法,如果你想從服務器端跟蹤它,那麼你也可以爲它做Web服務。 – KishuDroid

+0

明白了,謝謝你的回答。 – changbenny