2017-03-08 95 views
0

我的最終目標是使用窗口管理器,並添加意見,它會在我的整個應用程序堅持(不使用TYPE_SYSTEM_OVERLAY需要從API> = 23的用戶特別許可)。窗口管理器,所有活動應用程序中的

我目前做的是這樣的:

  1. 註冊ActivityLifecyclerCallback時啓動應用
  2. 添加我想堅持到窗口管理器,並保持他們的名單上側的意見。
  3. 每次活動恢復我這樣做:
    1. 通過調用currentActivity.getWindowManager()
    2. reinflate獲得當前活動的窗口管理器和召回wm.addView(..)到所有被之前添加的窗口。

但是,無論我做什麼窗戶永遠不會調用addView時,它像窗口管理器會忽略該呼叫..

我使用TYPE_APPLICATION爲Windows增加。

我嘗試使用的currentActivity.getSystemService(WINDOW_MANAGER)代替currentActivity.getWindowManager()

任何人能知道爲什麼?

回答

0

出乎所有人的信念TYPE_APPLICATION_ATTACHED_WINDOWTYPE_APPLICATION或任何與它的字APPLICATION(其中的方式是有道理的)是​​不要走的路。

我不知道爲什麼,如果一個谷歌工程師是這裏回答那將是偉大的,但解決方案是使用TYPE_TOAST(?!?!?)

另外,還要確保你得到一個當在活動之間切換時,從新活動新增WindowManager實例,因此如果您添加窗口或刪除它們,它就是一個有效的實例。

感謝它。4時間一分一秒在命名約定缺乏良好的文檔 :)

相關問題