91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android 以編碼的方式列出來當前app所有的窗口

發布時間:2020-06-13 05:36:37 來源:網絡 閱讀:449 作者:dyllove98 欄目:移動開發

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇仁县| 安义县| 富裕县| 平安县| 闻喜县| 红安县| 宿松县| 东至县| 五家渠市| 保定市| 沈阳市| 三都| 淳安县| 昭苏县| 曲阜市| 泸定县| 鸡东县| 冕宁县| 三江| 南靖县| 兴文县| 庆城县| 南京市| 南漳县| 自治县| 嘉义县| 嘉黎县| 涞水县| 广河县| 吉木乃县| 板桥市| 比如县| 新龙县| 罗定市| 兴业县| 平原县| 海丰县| 咸丰县| 北宁市| 洛扎县| 安陆市|