Android 在锁定 phone 中显示 window 正在进行的通话

Android show window over ongoing call in locked phone

我在 Android 中显示 window/view 正在进行的通话 window,还有一些按钮。在 Lollipop 之前,这就像一个魅力,但现在 window 在用户按下并解锁 phone 之前不会显示。

这些是我的布局参数:

layoutParams.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
            WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
    layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE;

请记住,这适用于 Lollipop 之前的所有 Android 版本。我还尝试添加 WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 和 WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD.

等标志

这是有意为之的行为。系统解锁前不允许进行交互。我想这种行为在 L+ 中有所改变。

编辑:实际上,您可以使用 http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#TYPE_SYSTEM_ERROR 来实现这一点。我想既不推荐也不打算这样做,但它确实有效。