我需要在呼叫號碼上顯示帶有文本視圖的浮動窗口,這在鎖定屏幕上工作正常并在較低的 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條經(jīng)驗 獲得超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
提交
取消