网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

android以编码的方式列出来当前app所有的窗口

Android的 - 以编程方式找到所有应用程序中所有的的窗口?

站在用户的角度思考问题,与客户深入沟通,找到合川网站设计与合川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、国际域名空间、虚拟空间、企业邮箱。业务覆盖合川地区。

          是否有可能以编程方式枚举所有当前app的窗口

          对话框,例如都将在新窗口中打开,独立于主activity窗口。我可以通过Dialog.getWindow(找到它们),但我不知道我怎么会用一个内置的组件做到这一点,如在活动菜单弹出。

         有没有什么办法,从应用程序中,上下文,或者窗口管理器,还是其他什么东西,枚举与我的应用程序关联的所有窗口?

         我可以在adb dumpsys窗口看到我所有的应用程序的窗口,但我正在寻找一种方法来在我的应用程序做到这一点,无需root。


Android的Android的视图

最佳答案:

我找到一个方法通过反射 WindowManagerGlobal.,至少到目前为止他在android-18版本中工作的很好.....

[java] view plaincopyandroid 以编码的方式列出来当前app所有的窗口android 以编码的方式列出来当前app所有的窗口

  1. private void logRootViews() {  

  2.     try {  

  3.         Class wmgClass = Class.forName("android.view.WindowManagerGlobal");  

  4.         Object wmgInstnace = wmgClass.getMethod("getInstance").invoke(null, (Object[])null);  

  5.    

  6.         Method getViewRootNames = wmgClass.getMethod("getViewRootNames");  

  7.         Method getRootView = wmgClass.getMethod("getRootView", String.class);  

  8.         String[] rootViewNames = (String[])getViewRootNames.invoke(wmgInstnace, (Object[])null);  

  9.    

  10.         for(String viewName : rootViewNames) {  

  11.             View rootView = (View)getRootView.invoke(wmgInstnace, viewName);  

  12.             Log.i(TAG, "Found root view: " + viewName + ": " + rootView);  

  13.         }  

  14.     } catch (Exception e) {  

  15.         e.printStackTrace();  

  16.     }  

  17. }  


输出:
Found root view:com.example.paintsample/com.example.paintsample.PaintSample/android.view.ViewRootImpl@41deeff0: com.android.internal.policy.impl.PhoneWindow$DecorView{41dcc278 V.E..... R....... 0,0-768,1184}
Found root view: PopupWindow:42887380/android.view.ViewRootImpl@42891820: android.widget.PopupWindow$PopupViewContainer{42891450 V.E..... ........ 0,0-424,618}

 

本文地址:http://www.itmmd.com/201412/297.html


文章题目:android以编码的方式列出来当前app所有的窗口
分享链接:http://bjjierui.cn/article/ggjdso.html

其他资讯