【问题标题】:Logout dialog error: token android.os.BinderProxy@4276c0e8 is not valid; is your activity running注销对话框错误:令牌 android.os.BinderProxy@4276c0e8 无效;你的活动正在运行吗
【发布时间】:2016-11-12 22:12:12
【问题描述】:

我有一个登录屏幕,成功登录后,它完成并显示 AppActivity。如果用户从应用程序注销并完成 AppActivity,则会再次显示登录屏幕。但是,当登录屏幕尝试在用户注销后显示对话框时,我遇到了如下所示的错误:

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4276c0e8 is not valid; is your activity running?

用户登录成功后LoginScreen结束,显示AppActivity:

Intent intent = new Intent(LoginScreen.this, AppActivity.class);
startActivity(intent);
finish();

如果用户点击注销按钮,AppActivity 结束,显示 LoginScreen:

Intent intent = new Intent(AppActivity.this, LoginScreen.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();

【问题讨论】:

    标签: android


    【解决方案1】:

    当您为不再存在的上下文显示对话框时,可能会发生这种情况。一种常见的情况 - 如果“显示对话框”操作是在异步操作之后进行的,并且在该操作期间,原始活动(即作为对话框的父级)被破坏。

    这可能类似于here。 希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 2019-10-31
      相关资源
      最近更新 更多