在oreo中使用windowmanager.layoutparams添加应用程序覆盖后,我无法单击电话上的任何部件显示,不考虑触摸事件。
这是我的密码

 int LAYOUT_FLAG;
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    LAYOUT_FLAG = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
                } else {
                    LAYOUT_FLAG = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;
                }


                layoutParams = new WindowManager.LayoutParams(
                        1,
                        1,
                        LAYOUT_FLAG,
                        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
                                | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                                | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
                                | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
                                | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION

                                | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH

                                | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
                        ,
                        PixelFormat.TRANSPARENT
                );
                layoutParams.gravity = Gravity.LEFT | Gravity.TOP;

最佳答案

尝试添加此附加标志WindowManager.LayoutParams.FLAG_NOT_FOCUSABLEdocs

10-07 19:49
查看更多