Android系统服务-WindowManager】的更多相关文章

  WindowManager是Android中一个重要的服务 (Service ).WindowManager Service 是全局的,是唯一的.它将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window.Activity会将顶级的控件注册到 Window Manager 中, 当用户真是触碰屏幕或键盘的时候,Window Manager就会通知到,而当控件有一些请求产生,也会经由ViewParent送回到Window Manager中.从而完成整个通信流程. 整个Android的窗…
WindowManager介绍 通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 WindowManager对象. 每一个WindowManager对象都和一个特定的 Display绑定. 想要获取一个不同的display的WindowManager,可以用 createDisplayContext(Display)来获取那个display的 Context,之后再使用: Context.getSystemService(Context…
http://blog.csdn.net/chenyafei617/article/details/6577907 Introduction 我们知道Android系统服务挺多的,做程序时经常会用到,要想把这么多的服务都了解透彻还真不是一两天就能搞定的,首先我们得又有一个框架,脑海里要形成这样的模型,android到底有哪些服务,针对这些服务分类去学习他们,今天发点时间把Android中的一些系统服务整理一下,大部分都是收集网络上的资料.自己也当作是一次学习机会,好了废话不多说了,请看下文: g…
在Android系统中,有一群很厉害的“家伙”,如果把Android系统比喻成一个大帮派,那么这群“家伙”的地位就像那各个分堂的堂主一样,所有的应用就像是各个小马哥,他们要做什么事情,都要堂主审批,审批过了才能提交总部处理.   接下来我会牵扯出几个常用的堂主,并且简单介绍下他们的创建过程和对应的功能   ActivityManager是Android系统服务ActivityManagerService提供出来供应用调用的API,负责四大组件的支持 WindowManager是Android系统…
退出Activity时弹出登录框,点击确定finish当前Activity,结果报了这个错,随后查找资料知道 原因: 是因为退出Activity时没有关闭弹出框,出现了这个错误 解决方法: 只需要在activity销毁时关闭Dialog就好. @Override public void onDestroy() { super.onDestroy(); Dialog.dismiss(); } android.view.WindowManager$BadTokenException: Unable…
The interface that apps use to talk to the window manager. 这个接口用于与 window manager (窗口管理器, 应用框架层) 进行交互. Use Context.getSystemService(Context.WINDOW_SERVICE)to get one of these. 通过 Context.getSystemService(Context.WINDOW_SERVICE)可以获取到WindowManager的实例.…
========4       关于android的一个常见错误:Unable to add window --token is not valid android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@41791b20 is not valid; is your activity running?at android.view.ViewRootImpl…
  原博客地址:http://aijiawang-126-com.javaeye.com/blog/662336 在Activity中newSpinner是我把mContext传入,但是出了 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application这个错误,参考了达人的文章终于搞定. private Context mcontext; @Ov…
一.Android系统服务 Android提供了很多系统服务:如ActivityManger,PowerManger,WindowManger,WifiManger等等. 这些服务都是系统启动开始就一直常驻的,如果app需要使用相应的系统服务(如获取当前wifi的状态),则需要通过Binder去访问系统服务. 例如:WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 二.…
之前遇到过这样的问题, 04-12 10:40:33.302: E/AndroidRuntime(17213): Caused by: android.view.WindowManager$BadTokenException: Unable to add window — token null is not for an application 04-12 10:40:33.302: E/AndroidRuntime(17213): at android.view.ViewRoot.setVie…
本文是看完android框架揭秘第六章后的总结 android系统服务提供最基本的,最稳定的核心功能,如设备控制,信息通知,通知设定,以及消息显示等,存在于Android Framework与Android Libraries,如下图: 系统服务分类:本地系统服务和java层系统服务 1.本地系统服务主要包括Audio Flinger,Surface Flinger,Media Player Service,Camera Service,Audio Policy Service等 ,除了Surf…
下午摆弄ProgressDialog,进入就抛错:android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application,让我百思不得其解.我这使用这种方法实现的进度对话框:proDialog = ProgressDialog.show(getApplicationContext(), "sadfs", "dddddd",tr…
这是在加载dialog时出现的一个异常.转载地址:http://hi.baidu.com/fbdfp/item/7dea2d0ade9121813d42e23d 扔了好久的android又开始断断续续在接触.昨天不知道看了个什么东东之后就看到关于LayoutInflater的用法,于是想try一下,也就是在Button上点击一下弹出一个对话框,结果遇到一个问题,android.view.WindowManager$BadTokenException: Unable to add window 报…
1,原文在这里http://blog.csdn.net/qq_17250009/article/details/52908791,我只是把里面的关键步骤给注释了一下,首先来看一下我们的效果,如图(电脑太卡,截图有问题,见谅): 2,来看一下我们的实现步骤,首先创建一个service,用于将我们的布局悬浮到我们的Android系统上去,然后通过activity来启动这个service,所以代码如下: MainActivity.java package com.qianmo.suspendcircl…
前言 在此前的系列文章中我们学习了WindowManager体系和Window的属性,这一篇我们接着来讲Window的添加过程.建议阅读此篇文章前先阅读本系列的前两篇文章. 1.概述 WindowManager对Window进行管理,说到管理那就离不开对Window的添加.更新和删除的操作,在这里我们把它们统称为Window的操作.对于Window的操作,最终都是交由WMS来进行处理.窗口的操作分为两大部分,一部分是WindowManager处理部分,另一部分是WMS处理部分.我们知道Windo…
前言 在上一篇文章我们学习了WindowManager体系,了解了Window和WindowManager之间的关系,这一篇我们接着来学习Window的属性. 1.概述 上一篇文章中我们讲过了Window.WindowManager和WMS之间的关系,WMS是Window的最终管理者,Window好比是员工,WMS是老板,为了方便老板管理员工则需要定义一些“协议”,这些“协议”就是Window的属性,被定义在WindowManager的内部类LayoutParams中,了解Window的属性能够…
在广播中启动一个Dialog时出现如下错误信息:Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 在代码中添加了dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);错误信息没有消除, 此时在Manifest.xml文件中…
前言 WindowManagerService(WMS)和AMS一样,都是Android开发需要掌握的知识点,同样的,WMS也很复杂,需要多篇文章来进行讲解,为何更好的理解WMS,首先要了解WindowManager,这一篇我们来学习WindowManager体系. 1.Window.WindowManager和WMS Window我们应该很熟悉,它是一个抽象类,具体的实现类为PhoneWindow,它对View进行管理. WindowManager是一个接口类,继承自接口ViewManager…
本文将主要介绍addview方法,在windowManager.window.viewGroup中的实现原理.首先将介绍这些类结构关系,然后分析其内在联系,介绍实现原理,最后介绍重要的一个参数windowManager.layoutParams. 文章预计分为三个部分. 一.首先介绍一下上述接口.类的结构 接口:windowManager 用来在应用与window之间的管理接口,管理窗口顺序,消息等 public interface WindowManager extends android.v…
“可以毫不夸张的说,Android的framework层主要是由WMS.AMS还有View所构成,这三个模块穿插交互在整个framework中,掌握了它们之间的关系和每一个逻辑步骤,你对framework的了解至少有百分之五十”.这是<Android源码与设计模式>作者的原话,最近学习WMS和AMS相关知识,的确非常复杂,这篇文章是在学习之初的初步整理,虽然内容不够细致,但对其也算有个宏观的了解.难点是其中具体的代码逻辑,也都在相应框架下给出了参考链接,日后的工作就是详细学习其中的代码逻辑,让…
在<Zygote进程[3]--SystemServer的诞生>一文中介绍了SystemServer的诞生,本文来看一下SystemServer中初始化的系统服务. 1.AccountManagerService Android账户服务,提供了对账户.password.授权的集中管理. 2.AccessibilityManagerService 辅助管理程序截获全部的用户输入,并依据这些输入给用户一些额外的反馈,起到辅助的效果,View的点击.焦点等事件分发管理服. 3.ActivityMana…
相关文章 Android系统启动流程系列 Android应用进程系列 Android深入四大组件系列 前言 此前在Android系统启动流程.应用进程以及深入四大组件这三个系列文章中,都提及到了AMS,但都没有系统的来讲解它,本文就以AMS为主来进行讲解,其中会有一些知识点与这些系列文章有所重合,这里会尽量做到详尽讲解.阅读此文章前,最好阅读相关文章中列出的系列文章,否则我不敢保证这篇文章你能看的懂. 1.概述 AMS是系统的引导服务,应用进程的启动.切换和调度.四大组件的启动和管理都需要AMS…
三.接上一节,分析windowManager中添加一个悬浮框的方式,首先看代码 WindowManager.LayoutParams params = new LayoutParams(); params.width = width; params.height = height; params.format = PixelFormat.TRANSLUCENT; params.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_…
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 一.系统服务提供方式 1.我们平时最常见的系统服务使用方式 WifiManager wifimanager = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifimanager.disconnect(); 这里我们通过Context的getSystemService(String name)方法,…
转自http://www.cnblogs.com/oakpip/archive/2011/04/06/2007310.html 错误产生: private Context mcontext; @Override protected void onCreate(Bundle savedInstanceState) {mcontext = getApplicationContext(); System.out.println("mcontext=" + mcontext); } new A…
读了android开发精要这本书,所以我把书中的比较精彩的地方截图了,一块分享一下…
模拟器版本 Android 4.1.2 - API Level 16 CMD 下输入:adb shell service list   服务名 对象 0 phone com.android.internal.telephony.ITelephony 1 iphonesubinfo com.android.internal.telephony.IPhoneSubInfo 2 simphonebook com.android.internal.telephony.IIccPhoneBook 3 is…
问题: 以前的项目,今天打开运行,Activity刚打开的时候,点开一个弹窗是好的,但是再点到另一个界面的时候,返回,再点弹窗就崩了. 解决: 网上查了一下,发现出现这个问题的还特别多,大体如下: 1.对话框中的context为null 2.权限问题加入 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>跟踪以后,我发现Context并不为null,有值特好的.权限加与不加,一个样…
1.出现 在app showdialog()时偶尔会出现,根据stackoverflow.com的描述,貌似是show的时候用作context的activity以及destroy了,,,一些异步操作会导致这个问题. 贴出一些解决的issue http://stackoverflow.com/questions/9529504/unable-to-add-window-token-android-os-binderproxy-is-not-valid-is-your-activ http://st…
Android悬浮窗实现 使用WindowManager WindowManager介绍 通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 WindowManager对象. 每一个WindowManager对象都和一个特定的 Display绑定. 想要获取一个不同的display的WindowManager,可以用 createDisplayContext(Display)来获取那个display的 Context,之后再使用: Con…