我創建了一個android應用程序,它使用異步任務調用web服務, 當認證失敗時,用戶將停止當前活動並重定向回登錄頁面。activity.finish()未停止當前活動
我的問題是,當用戶重定向回登錄頁面,吐司文本仍然顯示,這個吐司文本是在異步線程onPostExceute()事件。
這個問題的任何解決方案?
在webService.cscatch (UnauthorizedException ua) {
Log.d(tag, ua.getMessage());
Intent intent = new Intent(activity, LoginActivity.class);
if(condition a){
intent.putExtra("toast_text", R.string.a);
}else{
intent.putExtra("toast_text", R.string.b);
}
activity.finish();
activity.startActivity(intent);
}
return null;
然後在asyncTask.cs
protected JSONArray doInBackground(String... parameters) {
ConnectivityManager cm =
(ConnectivityManager) SingleFormActivity.this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
if (isConnected) {
}
return null;
}
public void onPostExecute(JSonArray result){
if(result != null){
}else{
Toast.makeText(Something.this, R.string.b, Toast.LENGTH_LONG).show();
}
}
請出示一些代碼 –
兄弟公司工作的任何語法錯誤,這 返回請求的狀態? – saeed
如果你在這裏引用部分代碼會更好。 –