在锁定屏幕上显示弹出窗口

时间:2017-08-28 05:10:03

标签: android android-popupwindow system-alert-window

我已经实现了来电显示功能,当屏幕被锁定时,它应该打开锁定并显示弹出窗口,其中包含呼叫者的姓名。

这是我在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" />

当手机没有密码/图案保护时,此功能正常。但是当设备受密码/图案保护时,它会向弹出窗口显示黑色背景,禁止用户参加/拒绝来电。

1 个答案:

答案 0 :(得分: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);

这似乎对我有用