在Android O上面特别增加了TYPE_APPLICATION_OVERLAY来满足悬浮窗需求。
在做项目时发现设了这个type之后,在锁屏状态下是无法弹出悬浮框的。
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.screenOrientation = Configuration.ORIENTATION_PORTRAIT; params.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;//2018-6-4,<PCABASSUG-834>, update
通过设置FLAG_SHOW_WHEN_LOCKED flag就可以实现锁屏状态下显示悬浮框