写一个程序遇见如下异常:
android.view.WindowManager$BadTokenException: Unable to add window
提示在创建AlertDialog.Builder是发生异常,大概意思就是说该AlertDialog 不能添加到窗口。
活动A跳转到活动B,在B中创建的AlertDialog
如果再由B跳转到A,如果在B中调用finish(),正常运行
而如果是在B中,按返回键,到A中,在启动活动B,这个时候便出现异常。
最后的解决方案
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
// MyLink.this.finish();
System.exit(0);
}
return true;
}
在活动B中捕获 点击返回键 事件 ,并强行调用 System.exit(0).
文章详细介绍了在Android应用开发中遇到的窗口管理问题,即在从一个活动跳转到另一个活动并按下返回键后,当前活动无法接收窗口事件的情况。通过在目标活动中捕获返回键事件并强制退出程序(System.exit(0)),成功解决了此问题。

1819

被折叠的 条评论
为什么被折叠?



