我需要在呼叫号码上显示带有文本视图的浮动窗口,这在锁定屏幕上工作正常并在较低的 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" />
添加回答
举报
0/150
提交
取消