サーバーと非同期で通信するアプリケーションを作成しました。アプリケーションがサーバー要求を行うと、「読み込み中」の通知を含む新しいダイアログ(アクティビティ)が作成されます。メインアクティビティはサーバーの応答を処理するためのメソッドを実装しています。メインアクティビティがサーバーから応答を受け取ったら、フォアグラウンドアクティビティを閉じたいと思います。
通知ダイアログは次の方法で作成されます。
private void showServerRequestDialog(String actionLabel){
Intent intent = new Intent(this, DlgServerRequest.class);
intent.putExtra(SERVER_REQUEST_ACTION, actionLabel);
startActivity(intent);
}
したがって、ユーザーが認証を試みると、次のメソッドが呼び出されます。
private void authenticateUser(String IMEI, String username, String password){
mEncoderConnection.authenticateRequest(IMEI, username, password);
showServerRequestDialog("Authenticating...");
}
onAuthenticateResponseは認証応答を処理します。
public void onAuthenticateResponse(AuthenticateResponse pkg) {
//code for response handling
//TODO: close ServerRequestDialog
}
}
onAuthenticateUser()の実行時に通知ダイアログ(DlgServerRequest)を閉じる方法を誰かが提案していただければ幸いです。