Android - 在使用TYPE_APPLICATION_OVERLAY窗口管理器时,不能在活动之间切换

时间:2018-06-14 08:45:13

标签: android kotlin dialog android-windowmanager

我正在为应用程序中收到的聊天消息显示横幅 我正在使用窗口管理器如下。

        val inflater = App.context.layoutInflater()
        val layout = inflater.inflate(R.layout.banner_chat, null)

        val params = WindowManager.LayoutParams()
        params.gravity = Gravity.TOP
        params.height = WindowManager.LayoutParams.WRAP_CONTENT
        params.width = WindowManager.LayoutParams.MATCH_PARENT

        params.type = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
        } else {
            WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
        }

        params.windowAnimations = R.style.NotificationAnimationTop
        val mWindowManager: WindowManager = App.context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
        mWindowManager.addView(layout, params)

        Handler().postDelayed({ mWindowManager.removeView(layout) }, 4000)  

当我使用TYPE_APPLICATION_OVERLAY时,我无法在活动之间切换 无论是单击后退按钮还是通过任何其他方式 它就像一个冻结的UI。

0 个答案:

没有答案