2017-08-28 142 views
0

我已經實現了一個來電顯示功能,當屏幕被鎖定時,它應該打開鎖並顯示彈出窗口和呼叫者的姓名。在鎖定屏幕上顯示彈出窗口

這是我在PopupActivity的onCreate()中添加的代碼。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | 
      WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | 
      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" />

此工作正常時,手機沒有密碼/模式protected.However它顯示了一個黑色的背景,以彈出窗口時,該設備密碼/模式保護禁止用戶參加/拒絕呼叫。

回答

0

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |PixelFormat.TRANSLUCENT);

這似乎是爲我工作