如何在锁定屏幕上显示的活动中启用屏幕键盘?

时间:2020-05-24 16:40:35

标签: java android android-softkeyboard lockscreen

我正在编写一个应用程序,该应用程序的活动也可以在锁定屏幕上显示。活动主体具有一些输入,按钮和关闭功能。活动正常运行时,一切正常,输入可编辑,按钮可单击,逻辑可运行,等等。

但是当我在显示活动时锁定屏幕或活动在锁定屏幕上弹出并且我输入了文本输入时,屏幕键盘没有显示。

我不希望键盘始终可见,而是在适当的时候显示和关闭它。简而言之,要完全像正常活动一样工作。

在我的onCreate方法上,我调用以下方法:

    private void setWindowFlags() {
        Window window = getWindow();
        window.setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
//        window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
//        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
        window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
            setShowWhenLocked(true);
            setTurnScreenOn(true);
        } else {
            window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
            window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        }
    }

我想念什么?

[编辑] 问题可能出在键盘自动关闭而不是没有出现。有时只有一帧可见。

0 个答案:

没有答案