2017-03-08 74 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时间一分一秒在命名约定缺乏良好的文档 :)

相关问题