Android 添加到窗口管理器的第一个编辑文本不显示键盘

Android 添加到窗口管理器的第一个编辑文本不显示键盘,android,android-service,android-edittext,android-softkeyboard,Android,Android Service,Android Edittext,Android Softkeyboard,我正在制作一个应用程序,在我的服务中,我将添加到窗口管理器布局中,其中包含编辑文本。一切正常,键盘正在显示,等等。但是,当我将第二个相同的布局添加到窗口管理器时,我的第一个编辑文本失去了焦点,我无法键入任何内容,或者它没有失去焦点,因为您可以看到指针,但键盘没有显示,它只显示最后添加的布局 我正在向窗口管理器添加视图,如下所示: params = new WindowManager.LayoutParams( WindowManager.LayoutParams.

我正在制作一个应用程序,在我的服务中,我将添加到窗口管理器布局中,其中包含编辑文本。一切正常,键盘正在显示,等等。但是,当我将第二个相同的布局添加到窗口管理器时,我的第一个编辑文本失去了焦点,我无法键入任何内容,或者它没有失去焦点,因为您可以看到指针,但键盘没有显示,它只显示最后添加的布局

我正在向窗口管理器添加视图,如下所示:

params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
                PixelFormat.TRANSLUCENT);
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
singleLayout = inflater.inflate(R.layout.single_layout, null);
windowManager.addView(singleLayout, params);
我尝试用以下代码手动打开键盘:

InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
但它不起作用,这种方法也不起作用:

public static void forceFocusOnView(final View view) {
        if (view == null)
            return;
        view.post(new Runnable() {
            public void run() {
                view.clearFocus();
                view.post(new Runnable() {
                    public void run() {
                        view.requestFocus();
                    }
                });
            }
        });
    }

它总是只在最后添加的布局中显示键盘,感谢您提供的任何解决方案。

android:windowSoftInputMode=“stateAllwaysVisible”---->在清单文件中。edittext.requestFocus();------>用密码。这将打开软键盘,在活动出现时,编辑文本在其上具有请求焦点。这不是一个活动,这是一项服务,但我尝试了您的解决方案-不起作用,键盘仍仅在上次添加时显示layout@Janek你有什么解决办法吗