gpt4 book ai didi

Android:如何从 Activity Activity 中关闭前台 Activity ?

转载 作者:搜寻专家 更新时间:2023-11-01 07:41:21 28 4
gpt4 key购买 nike

我创建了一个与服务器异步通信的应用程序。当应用程序发出服务器请求时,将创建一个带有“正在加载”通知的新对话框( Activity )。主要 Activity 实现了处理服务器响应的方法,我想在主要 Activity 收到来自服务器的答复时关闭前台 Activity 。

通知对话框的创建方式如下:

 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) 的方法,我将不胜感激。

最佳答案

为什么不使用真正的 ProgressDialog 或其他一些 Dialog?然后,您需要做的就是dismissDialog(),您就完成了吗?

如果这是 Not Acceptable ,我可以看到您有两个主要的行动方案:

  1. 将您的身份验证逻辑移到 DlgServerRequest 类中,这样它就可以finish() 本身。
  2. 将您的 DlgServerRequest 类实例放入静态数据成员中,以便您的主要 Activity 可以调用 finish()

如果您选择选项 #2,null 静态数据成员以避免内存泄漏非常重要。

关于Android:如何从 Activity Activity 中关闭前台 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487125/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com