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" />

当手机没有密码/模式保护时,这可以正常工作。但是,当设备受密码/模式保护时,它会在弹出窗口中显示黑色背景,从而使用户无法参加/拒绝通话。

4

1 回答 1

1

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);

这似乎对我有用

于 2017-08-30T04:29:41.963 回答