为了账号安全,请及时绑定邮箱和手机立即绑定

API 26 及更高版本中锁定屏幕上的服务浮动窗口

API 26 及更高版本中锁定屏幕上的服务浮动窗口

阿晨1998 2021-11-03 14:41:40
我需要在呼叫号码上显示带有文本视图的浮动窗口,这在锁定屏幕上工作正常并在较低的 API(比 26)上解锁,在从服务运行代码时,在锁定屏幕上显示浮动窗口的正确方法是什么?此代码适用于 API 26+ 的解锁屏幕if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O){            windowParams2 = new WindowManager.LayoutParams(                    WindowManager.LayoutParams.WRAP_CONTENT,                    WindowManager.LayoutParams.WRAP_CONTENT,                    WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,                    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,                    PixelFormat.TRANSLUCENT);            windowParams2.x = 0;            windowParams2.y = 0;            windowParams2.gravity = Gravity.CENTER;        }else{            windowParams2 = new WindowManager.LayoutParams(                    WindowManager.LayoutParams.WRAP_CONTENT,                    WindowManager.LayoutParams.WRAP_CONTENT,                    WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,                    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE ,                    PixelFormat.TRANSLUCENT);            windowParams2.x = 0;            windowParams2.y = 0;            windowParams2.gravity = Gravity.CENTER;        }
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

添加以下标志:


WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON

另外不要忘记,如果您希望它正常工作,您需要向清单添加一些权限:


<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<uses-permission android:name="android.permission.WAKE_LOCK" />


查看完整回答
反对 回复 2021-11-03
  • 1 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信