我有一個運行每次用戶啓動應用程序,以驗證用戶接入功能。在每次啓動時,用戶標識將被髮送到服務器以進行身份驗證,當它們通過身份驗證時,用戶可以使用該應用程序。使應用程序等待,直到HTTP響應收到
的問題我不能讓在主線程HTTP調用。而在單獨的線程,我不能停下來等待響應。
那麼,怎樣才能讓我的應用程序等待,直到接收到認證響應?
if (usrObj.authenticateUser()) {
Intent controllerActivity = new Intent("android.intent.action.Main");
startActivity(controllerActivity);
} else {
…
}
//User.java
public boolean authenticateUser() {
Thread thr_authenticateUser = new Thread(new Runnable() {
@Override
public void run() {
//Make HTTP authentication request and wait for the reply.
}
});
thr_authenticateUser.start();
return authenticationStatus;
}
'帶有'ProgressDialog'的AsyncTask'將創建魔術..! – user370305
使用ProgressBar是推薦的方法來指示進度,然後在請求完成時將其隱藏。此外,這可能有點超過頂部,但考慮使用Robospice或專業圖書館做網絡請求,以節省您一些麻煩,稍後在https://github.com/stephanenicolas/robospice/wiki –