Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序中所有活动的WindowManager_Android_View_Android Windowmanager - Fatal编程技术网

Android 应用程序中所有活动的WindowManager

Android 应用程序中所有活动的WindowManager,android,view,android-windowmanager,Android,View,Android Windowmanager,我的最终目标是使用WindowManager并向其添加视图,这些视图将在我的整个应用程序中保持不变(无需使用TYPE_SYSTEM_OVERLAY,它需要API>=23中用户的特殊许可) 我现在做的是: 在应用启动时注册ActivityLifecyclerCallback 将我要保留的视图添加到windowManager,并在旁边保留它们的列表 每次恢复活动时,我都会执行以下操作: 通过调用currentActivity.getWindowManager() 对以前添加的所有窗口重新展开并调用w

我的最终目标是使用WindowManager并向其添加视图,这些视图将在我的整个应用程序中保持不变(无需使用
TYPE_SYSTEM_OVERLAY
,它需要API>=23中用户的特殊许可)

我现在做的是:

  • 在应用启动时注册ActivityLifecyclerCallback
  • 将我要保留的视图添加到windowManager,并在旁边保留它们的列表
  • 每次恢复活动时,我都会执行以下操作:
  • 通过调用
    currentActivity.getWindowManager()
  • 对以前添加的所有窗口重新展开并调用
    wm.addView(..)
  • 但是,无论我做什么,在调用
    addView
    时,窗口都不会被添加,这就像窗口管理器忽略了该调用一样

    我正在为windows使用TYPE_应用程序

    我尝试使用
    currentActivity.getSystemService(窗口管理器)
    而不是
    currentActivity.getWindowManager()


    有人能告诉我原因吗?

    与所有信念相反
    TYPE\u APPLICATION\u ATTACHED\u WINDOW
    TYPE\u APPLICATION
    或任何带有
    APPLICATION
    一词的东西(顺便说一句,这是有意义的)都是不可取的

    我不知道为什么,如果谷歌工程师在这里回答这个问题,那就太好了,但解决办法是使用
    键入土司
    (?!?)

    在活动之间切换时,还要确保从新活动中获得一个新的
    WindowManager
    实例,这样,如果添加或删除窗口,它就是一个有效的实例

    谢谢你。。在命名约定和缺乏良好文档方面浪费了4个小时:)