windowmanager专题

Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.B

一个bug日志 FATAL EXCEPTION: main03-25 14:24:07.724: E/AndroidRuntime(4135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.syyx.jingubang.ky/com.anguotech.android.activity.Init

Android经典实战之窗口和WindowManager

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 在Android开发中,“窗口”是一个非常基础且重要的概念。窗口通常用于承载和显示用户界面内容。了解窗口的工作机制,以及如何管理窗口,对于开发复杂的和用户体验良好的应用程序至关重要。 窗口的基本概念 1、 窗口(Window): 窗口是一个抽象类,代表Android

WindowManager的使用

WindowManager简介 WindowManager是Android系统中的一个核心类,它负责管理窗口的创建、显示、位置和大小等。WindowManager通常用于创建浮动窗口、自定义窗口布局或管理系统的顶级窗口。 WindowManager的作用 创建窗口:可以在屏幕上创建额外的窗口,这些窗口可以是浮动的、半透明的或具有特定的尺寸和位置。管理窗口布局:可以更改窗口的位置、大小和布局属

android之WindowManager悬浮框

文章目录 阐述悬浮框的实现AndroidManifest配置使用方法 阐述 Window的类型大致分为三种: Application Window 应用程序窗口、Sub Window 子窗口、System Window 系统窗口 窗口类型图层值(type)Application Window1~99Sub Window1000~1999System Window2000~299

利用WindowManager实现悬浮窗

项目中有个需求做来去电弹屏(本文没有谈及具体实现来电弹屏),其中一个可行的方案是:利用BroadcastReceiver广播监听来电去电,然后启动服务加载布局、设置视图xy参考点、监听触摸事件去更新视图,从而实现弹屏。因为它是悬浮在父类window的窗体,因此我们又称之为悬浮窗。效果图如下: 在做项目时有些不懂的地方,带着困惑查看相关文档与资料,发现核心在于WindowManager

android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivit

android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@45f48c40 is not valid; is your activity running? 今天在写android 的google 地图

关于WindowManager在Android N和Android N以下表现差异的分析总结

1. 问题描述 通过WindowManager往窗口里添加浮动按钮,在Android7.0时该按钮可以全局保留,直至进程被杀掉。而Android7.0以下(以Android4.4为例)浮动按钮随Activity的onStop()方法被覆盖。 以下为浮动按钮的实现代码: WindowManager mWm = (WindowManager)mContext.getSystemService(C

android 实现全局对话框中context的问题 .WindowManager$BadTokenException问题解决

在实际的开发过程中,我们可能会有很多处网络请求的地方,这个时候我们就需要一些友好性的提示了,例如进度对话框之类的 比较理想的情况是,我们写一个全局的方法,然后使用的时候直接调用就可以了 显然,我们应该首先想到直接在项目的application类里面写一个方法,然后进行progressdialog的显示和隐藏,这种情况下,我们创建progressdialog对象的时候,很自然的就使用到了geta

Activity ,Window ,WindowManager之间的关系

转载自:http://blog.csdn.net/android_jiangjun/article/details/45798221 Android源码(2.3.5)\frameworks\base\core\java\android\viewpublic interface ViewManager{public void addView(View view, ViewGroup.Layou

Android图形系统之SurfaceFlinger与WindowManager(八)

SurfaceFlinger 接受缓冲区,对它们进行合成,然后发送到屏幕。WindowManager 为 SurfaceFlinger 提供缓冲区和窗口元数据,而 SurfaceFlinger 可使用这些信息将 Surface 合成到屏幕。 1.SurfaceFlinger SurfaceFlinger 可通过两种方式接受缓冲区:通过 BufferQueue 和 SurfaceControl

Android异常解决之WindowManager.BadTokenException

该异常具体信息如下: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@7f817 is not valid; is your activity running? 该异常产生的原因是由于当前Activity已经不在运行状态中,即已经on

使用Windowmanager给界面添加窗口

添加普通窗口 btn.setOnClickListener(new View.OnClickListener() {//创建要显示的Viewfinal TextView tv = new TextView(BezierViewActivity.this);tv.setBackgroundColor(Color.WHITE);tv.setText("子窗口");//同一个acitiviy下的to

Android应用程序窗口设计之Window及WindowManager的创建

Android应用程序窗口设计之Window及WindowManager的创建 Android应用程序窗口设计系列博客: Android应用程序窗口设计之Window及WindowManager的创建 Android应用程序窗口设计之setContentView布局加载的实现 普法Android的Token前世今生以及在APP,AMS,WMS之间传递 Android应用程序窗口设计之窗

Android WindowManager工具类

WindowManager提供三个方法: addView()、updateLayout()、removeView()。分别对应是添加view、更新view、移除view。 <!--悬浮窗权限--><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> WindowManagerUtil  pac

Android | 理解Window 和 WindowManager

前言 Window 是一个窗口的概念,是所有视图的载体,不管是 Activity,Dialog,还是 Toast,他们的视图都是附加在 Window 上面的。例如在桌面显示一个悬浮窗,就需要用到 Window 来实现。WindowManager 是访问 Window 的入口。 Window 是一个抽象类,他的实现类是 PhoneWidow,Activity 中的 DecorView ,Dial

【Android开发艺术探索】理解Window和WindowManager

个人博客: http://www.milovetingting.cn 理解Window和WindowManager Window表示一个窗口的概念,是一个抽象类,具体实现是PhoneWindow,可以通过WindowManager创建一个Window。WindowManager是外界访问Window的入口,Window具体实现位于WindowManagerService中,Windo

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is yo

popUpWindow出现以上问题的原因是popUpWindow的弹出需要依附一个activity,所以需要在activity渲染完成之后弹出activity 解决方法一:使用handler延时显示,在handler中调用显示popUpWindow的方法 private Handler popupHandler = new Handler() {@Override public v

WindowManager.LayoutParams详解

本文转自: http://blog.csdn.net/i_lovefish/article/details/8050025 public static class WindowManager.LayoutParams extends  ViewGroup.LayoutParams implements  Parcelable java.lang.Object    ? and

Android使用Jetpack WindowManager来开发可折叠设备的探索

一、背景 我们在Google开发者大会上,看到Jetpack WindowManager和WindowSizeClass这些技术,如下图。 那这里不得不说折叠屏手机了 在其中一个显示区域中运行一个应用。 同时运行两个应用,各位于一个显示区域中(在 multi-window 模式下)。 可折叠设备还支持不同的折叠状态。折叠状态可用来以不同的方式显示内容 折叠屏手机有哪些优势呢

WindowManager(窗口管理服务)

本节引言: 本节给大家带来的Android给我们提供的系统服务中的——WindowManager(窗口管理服务), 它是显示View的最底层,Toast,Activity,Dialog的底层都用到了这个WindowManager, 他是全局的!该类的核心无非:调用addView,removeView,updateViewLayout这几个方法 来显示View以及通过WindowManage

Android折叠屏开发学习(二)---使用Jetpack WindowManager监听折叠屏开合状态

学更好的别人, 做更好的自己。 ——《微卡智享》 本文长度为4521字,预计阅读8分钟 前言 上一篇《Android折叠屏开发学习(一)---通过传感器获取铰链角度》使用了传感器获取折叠屏打开的角度。而在2021 Google I/O,发布了Jetpack WindowManager 用于进行折叠屏适配,今天这篇我们就来使用一下Jetpack WindowManager来做个折叠屏的Demo

WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL作用

Window flag: Even when this window is focusable (its {@link #FLAG_NOT_FOCUSABLE is not set),  allow any pointer events outside of the window to be sent to the windows behind it. 即使在该window在可获得焦点情况下,仍然

【Android】Window和WindowManager

文章目录 理解Window和WindowManagerWindow和WindowManagerWindow的内部机制Window的添加过程Window的删除过程Window的更新过程 Window的创建过程Activity的Window创建过程Dialog的Window创建过程Toast的Window创建过程 理解Window和WindowManager Window是一

jetpack库_通过新的Jetpack WindowManager库支持新的外形尺寸

jetpack库 Posted by Kenneth Ford and Andrii Kulian 肯尼斯·福特(Kenneth Ford)和安德里·库里安(Andrii Kulian)发布 WindowManager is a recent addition to Android Jetpack that aims to help application developers su

Android WindowManager

Android WindowManager 本文由 Luzhuo 编写,转发请保留该信息. 原文: https://blog.csdn.net/Rozol/article/details/86658357 WindowManager 是窗体对象, 可以实现本应用 View 飘浮于其他应用之上的效果. 主要方法 获取窗体对象 WindowManager wm = (Windo

一场Toast引发的血案---WindowManager

在一场Toast引发的血案—Toast的显示中,已经大致了解了Toast的显示过程,但是还是有很多疑惑,Toast最终现实的时候是要通过WindowManager添加到一个Window的,但是这个WindowManager是哪个WindowManager,带着这个疑惑,我们开始深入。 可能在此之前对Window不是很了解,但这不影响对WindowManager的理解,只需要大概知道一个Activ