注销对话框错误:令牌android.os.BinderProxy@4276c0e8无效;是你的活动正在运行

时间:2016-07-11 03:49:18

标签: android

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

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4276c0e8 is not valid; is your activity running?
如果用户成功登录app,

登录屏幕已完成,显示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();

1 个答案:

答案 0 :(得分:2)

当您显示不再存在的上下文的对话框时,可能会发生这种情况。一个常见的情况 - 如果'show dialog'操作是在异步操作之后,并且在该操作期间,原始活动(即对话框的父级)将被销毁。

这可能类似here。 我希望它有所帮助。