早安, 我正在开发由服务发布的叠加层。 问题在于,即使屏幕超时过期后,屏幕也始终保持打开状态。
这是我的代码:
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.TYPE_STATUS_BAR|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity= Gravity.TOP | Gravity.LEFT;
overlay.setKeepScreenOn(false);
wm.addView(overlay, params);
我已经尝试添加WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON,但是没有运气。
感谢您的帮助。
答案 0 :(得分:0)
解决方案是不使用WindowManager.LayoutParams.TYPE_STATUS_BAR 但是权限较低的用户,因为该权限仅由系统使用。