我終於解決了它。關鍵是不要聽自己的指紋,而是讓系統處理它。我的鎖屏是認爲被添加到窗口管理器,像在onViewAttached這個
val params = WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION or
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS or
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
, PixelFormat.TRANSLUCENT)
manager.addView(lockscreenView, params)
和鎖屏視圖設置界面的可視性標誌
override fun onAttachedToWindow() {
super.onAttachedToWindow()
systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
}
然後,你必須提供自己的自定義解鎖機制,使用戶可以關閉你的鎖屏並加入收聽Intent.ACTION_USER_PRESENT
廣播,表明鎖屏解鎖(例如與指紋)
所有你的傢伙:)偉大的工作對我來說 –