android.view.WindowManager$BadTokenException: 无法添加窗口 - 空令牌无效;您的活动是否正在运行?
创始人
2024-08-20 05:00:13
0

"android.view.WindowManager$BadTokenException: 无法添加窗口 - 空令牌无效;您的活动是否正在运行?" 这个异常通常出现在尝试在一个已经关闭的活动中显示对话框或弹出窗口时。解决这个问题的方法是确保在显示对话框或弹出窗口之前检查活动是否正在运行。以下是一个代码示例,展示了如何处理这个异常:

public class MainActivity extends AppCompatActivity {

    private boolean isActivityRunning = false; // 标记活动是否正在运行

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        isActivityRunning = true; // 在活动创建时标记活动为正在运行
    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        
        isActivityRunning = false; // 在活动销毁时标记活动为不再运行
    }

    public void showDialog(View view) {
        if(isActivityRunning) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("对话框");
            builder.setMessage("这是一个对话框示例");
            builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // 处理对话框按钮点击事件
                }
            });
            builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // 处理对话框按钮点击事件
                }
            });
            builder.show();
        }
    }
}

在这个示例中,我们使用一个布尔变量 isActivityRunning 来标记活动是否正在运行。在活动的 onCreate() 方法中将其设置为 true,在 onDestroy() 方法中将其设置为 false。然后,在 showDialog() 方法中,我们首先检查 isActivityRunning 的值,只有当活动正在运行时,才会显示对话框。

这样,当活动已经关闭时,尝试显示对话框或弹出窗口时,就不会再出现 "android.view.WindowManager$BadTokenException: 无法添加窗口 - 空令牌无效;您的活动是否正在运行?" 异常。

相关内容

热门资讯

总算了解!aapoker辅助挂... 总算了解!aapoker辅助挂多功能透视工具,好像存在有挂(有挂功能)1、每一步都需要思考,不同水平...
来一盘!德扑之星辅助挂多功能透... 来一盘!德扑之星辅助挂多功能透视工具,好像真的是有挂(有挂秘诀)1、德扑之星免费脚本咨询教程、德扑之...
技巧知识分享!智星德州扑克辅助... 技巧知识分享!智星德州扑克辅助挂多功能透视工具,确实有挂(今日头条)亲,关键说明,智星德州扑克透视脚...
玩家交流!aapoker辅助挂... 玩家交流!aapoker辅助挂多功能透视工具,确实是有挂(有挂方法)1、aapoker破解器简单,a...
揭秘真相!德普之星辅助挂多功能... 揭秘真相!德普之星辅助挂多功能透视工具,确实存在有挂(有挂辅助)德普之星辅助器是一种具有地方特色的麻...
9分钟了解!aapoker辅助... 9分钟了解!aapoker辅助挂多功能透视工具,原来真的是有挂(有挂秘籍)所有人都在同一条线上,像星...
盘点一款!德普之星辅助挂多功能... 您好,德普之星这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款...
玩家交流!智星德州扑克辅助挂多... 玩家交流!智星德州扑克辅助挂多功能透视工具,真是有挂(有挂秘笈)运智星德州扑克辅助工具,进入游戏界面...
分享个大家!德普之星辅助挂多功... 分享个大家!德普之星辅助挂多功能透视工具,本来真的有挂(有挂神器)1、德普之星透视辅助软件激活码多个...
揭秘关于!手机透视辅助器app... 揭秘关于!手机透视辅助器app(辅助挂)wpk模拟器多开(其实有挂)是一款可以让一直输的玩家,快速成...