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 来实现这一点。我想既不推荐也不打算这样做,但它确实有效。
我在 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 来实现这一点。我想既不推荐也不打算这样做,但它确实有效。