DESCRIPTION: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@424ce168 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:646)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:281)
at android.app.Activity.showDialog(Activity.java:3135)
at android.app.Activity.showDialog(Activity.java:3085)
at com.zl.upgrade.activity.s.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5320)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
暂不明原因!
临时解决方案:
在onCreateDialog()中创建dialog的时候,传入最外层的ActivityGroup
20131015
初步原因:
当请求服务器的时候,后台线程返回数据时,调用了activity的showDialog(),但是这个时候恰巧
activity已经被finish掉了,导致报错
Unable to add window -- token android.os.BinderProxy@424ce168 is not valid; is your activity running?
解决办法:在showDialog之前 判断activity是否被finish掉, activity.isFinishing()
参考文章:
相关推荐
android13 WindowManager-Shell.jar
Android 中 android.view.WindowLeaked的解决办法 按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢? 产生原因: 我们知道Android的每一个Activity都有个...
WindowManager属性详解:WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。 它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。
import android.view.WindowManager; import android.view.View.OnTouchListener; import android.widget.FrameLayout; import android.widget.ImageView; public class BubbleExplosion extends Activity { ...
注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...
一、在代码中设置: 代码如下:package com.android.tutor; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class OpenGl_...
总的来说,创建一个带有圆角的`SurfaceView`悬浮窗涉及到对Android视图层次结构的理解、`SurfaceView`的特性利用、`WindowManager`的运用以及自定义`View`的绘制技巧。这个过程需要开发者具备扎实的Android基础知识...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/lock_screen" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation=...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:background=...
layoutParams.flags = android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN; layoutParams.format = android.graphics.PixelFormat....
params.width = android.view.ViewGroup.LayoutParams.WRAP_CONTENT;// 窗口宽度 params.height = android.view.ViewGroup.LayoutParams.WRAP_CONTENT;// 窗口高度 manager.addView(layout, params); }
- 创建一个布局视图,例如`View`,并将其设置为`WindowManager`的参数。 - 调用`windowManager.addView()`方法将视图添加到窗口管理器。 3. **权限判断**: - 可以使用`Settings.canDrawOverlays()`方法来判断...
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"> android:id="@+id/videoView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> ``` 5. **加载...
import android.view.WindowManager; ``` 接着,创建一个悬浮窗体的基本步骤如下: 1. **定义悬浮视图**: 你可以使用`LayoutInflater`从XML布局文件中加载视图,或者直接创建一个`View`对象。 ```java // 使用XML...
如果不在,就调用`windowManager.removeView(floatingView)`移除悬浮窗。 至此,我们已经完成了基本的浮动窗口功能,当用户点击悬浮窗外的区域时,窗口会自动消失。在实际应用中,你可能还需要添加更多的逻辑,例如...
Android悬浮窗实现原理和WindowManager详解 Android悬浮窗是指在Android系统中,可以悬浮在屏幕上的一种窗口,常见于QQ视频、手机杀毒软件的桌面小助手等应用中。要实现悬浮窗,需要使用WindowManager来管理窗口。...
import android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN // 隐藏状态栏 window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN window.addFlags(WindowManager.LayoutParams.FLAG_...
在Android开发中,实现类似QQ视频那样的悬浮窗功能,需要用到`WindowManager`接口。`WindowManager`是Android系统服务之一,它允许应用管理窗口并控制它们在屏幕上的位置和显示方式。本篇将深入探讨如何利用`...
然后,在我们的Activity或Service中,使用`WindowManager`接口添加这个自定义View到系统窗口层级: ```java WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams....