`

Android WindowManager$BadTokenException异常应对案例

 
阅读更多
Android利用ActivityGroup加载子Activity,子Activity调用对话框,弹出:

ERROR/AndroidRuntime(10104): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@45a58ee0 is not valid; is your activity running?

 

原因分析:

因为new对话框的时候,参数content 指定成了this,即指向当前子Activity的content。但子Activity是动态创建的,不能保证一直存在。其父Activity的content是稳定存在的,所以有下面的解决办法。

 

解决办法: 

将content替换为getParent()即可。 

 希望对碰到类似问题的同学有帮助。

分享到:
评论

相关推荐

    android dialog与popwindow之间的简单运用

    注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...

    android13 WindowManager-Shell.jar

    android13 WindowManager-Shell.jar

    Android利用WindowManager实现悬浮窗

    Android悬浮窗实现原理和WindowManager详解 Android悬浮窗是指在Android系统中,可以悬浮在屏幕上的一种窗口,常见于QQ视频、手机杀毒软件的桌面小助手等应用中。要实现悬浮窗,需要使用WindowManager来管理窗口。...

    android 采用windowmanager屏蔽home键

    本文将详细介绍如何在Android应用中采用`WindowManager`来屏蔽Home键。 首先,我们需要创建一个悬浮窗口(Floating Window),这是`WindowManager`的主要用途之一。悬浮窗口可以覆盖在其他应用之上,我们可以通过...

    Android悬浮框权限判断WindowManager

    `WindowManager`是Android SDK中的一个关键组件,它负责管理Android设备上的窗口。开发者可以利用`WindowManager`来添加、更新或删除窗口,包括创建悬浮框。以下是对`WindowManager`及悬浮框权限的详细说明: 1. **...

    android利用windowmanager的伸缩式窗口

    在Android开发中,WindowManager是一个非常重要的服务,它允许开发者将视图添加到系统的顶级窗口层次结构中,实现各种自定义的界面效果。本篇主要探讨如何利用WindowManager的`addView()`方法来创建一个可伸缩的弹出...

    Android WindowManager悬浮显示歌词

    一个WindowManager悬浮窗,悬浮显示歌词效果。WindowManager背景设置为了透明色,显示的WindowManager关闭启动它的Activity回到主界面仍然有效。仅供参考............

    Android 利用WindowManager实现悬浮窗 demo

    在Android开发中,实现类似QQ视频那样的悬浮窗功能,需要用到`WindowManager`接口。`WindowManager`是Android系统服务之一,它允许应用管理窗口并控制它们在屏幕上的位置和显示方式。本篇将深入探讨如何利用`...

    android surfaceview 悬浮窗圆角 windowmanager

    总的来说,创建一个带有圆角的`SurfaceView`悬浮窗涉及到对Android视图层次结构的理解、`SurfaceView`的特性利用、`WindowManager`的运用以及自定义`View`的绘制技巧。这个过程需要开发者具备扎实的Android基础知识...

    android浮动窗口实现级点击消失例子

    在Android开发中,浮动窗口(通常称为悬浮窗或者小部件)是一种常见的功能,它可以在主屏幕或其他应用之上显示内容,为用户提供便捷的操作或信息展示。本教程将详细讲解如何利用`WindowManager`来创建一个浮动窗口,...

    log的方法分析

    **定义**: `WindowManager$BadTokenException`通常出现在Android应用中,当试图在一个无效的上下文中添加或修改视图时抛出此异常。 **日志示例**: ``` 05-07 10:22:50.670: E/AndroidRuntime(22902): android.view....

    Android悬浮窗实现 使用WindowManager Demo

    本教程将深入讲解如何使用`WindowManager`服务来创建和管理Android悬浮窗,并通过一个简单的Demo——WindowManagerDemo来展示其实现过程。 首先,我们要理解`WindowManager`是Android系统提供的一个接口,它允许...

    WindowManager属性详解

    WindowManager属性详解:WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。 它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。

    简单模仿360悬浮球 手动拖动悬浮窗效果DEMO WindowManager Demo

    在Android开发中,实现类似360悬浮球的效果是一项常见的需求,这主要涉及到对`WindowManager`类的使用,以及自定义View的交互处理。在这个DEMO中,开发者创建了一个可手动拖动的悬浮窗,其中视图是一个`TextView`,...

    Android开发解决popupWindow重叠报错问题

    ERROR/AndroidRuntime(888): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44ef1b68 is not valid; is your activity running? 报错的意思大概就是说...

    android利用windowmanager实现悬浮窗

    核心在于WindowManager,通过它创建一个LayoutParams对象,然后利用该对象设置flag、gravity、xy坐标点。它提供三个方法:addView()、updateLayout()、removeView()。分别对应是添加view、更新view、移除view。主要...

    Android自定义Toast之WindowManager

    Android 自定义 Toast 之 WindowManager Android 自定义 Toast 之 WindowManager 是 Android 开发中的一种常见技术,用于在应用程序中显示自定义的 Toast 消息。本文将详细介绍 Android 自定义 Toast 之 ...

    Android使用WindowManager制作一个可拖动的控件

    在Android开发中,WindowManager是一个重要的系统服务,它允许我们添加、移除或者更新在窗口管理器层次结构中的视图。这个服务使得开发者能够创建浮动窗口(如对话框、通知等)或者在屏幕顶部显示一些状态信息。在...

    windowmanager

    在Android系统中,WindowManager是负责管理窗口的重要组件,它允许开发者将视图添加到屏幕上的窗口层次结构中。理解Window和WindowManager的工作原理对于深入Android应用开发至关重要。本文将详细探讨这两个概念及其...

    Android使用WindowManager构造悬浮view

    一般在android显示一个View都是通过Activity的setContentView设置的,但是还有一种方法,可以直接使用WindowManager在整个应用的最上层绘制我们需要显示的view,总体的效果类似于AlertDialog的弹出效果。 使用...

Global site tag (gtag.js) - Google Analytics