Android 有人能解释一下如何使用输入法对话框吗?

Android 有人能解释一下如何使用输入法对话框吗?,android,dialog,android-input-method,Android,Dialog,Android Input Method,我想在按下软键盘的一个键时创建一个简单的对话框(例如,EditText和一个按钮) 如果要创建对话框,根本不必使用WindowManager。安卓开发者已经有了键入输入法对话框,顾名思义,用于输入法(如屏幕键盘)。Per(首席Android开发者),您不需要键入输入法对话框。您需要键入应用程序面板。这个代码应该可以工作myInputMethodView应该是当前显示在主输入法窗口中的任何视图 final Dialog d = new Dialog(context); final Window w

我想在按下软键盘的一个键时创建一个简单的对话框(例如,
EditText
和一个按钮)


如果要创建对话框,根本不必使用WindowManager。安卓开发者已经有了<代码>键入输入法对话框,顾名思义,用于输入法(如屏幕键盘)。

Per(首席Android开发者),您不需要
键入输入法对话框
。您需要
键入应用程序面板
。这个代码应该可以工作
myInputMethodView
应该是当前显示在主输入法窗口中的任何视图

final Dialog d = new Dialog(context);
final Window w = d.getWindow();
final WindowManager.LayoutParams attrs = w.getAttributes();
attrs.type = TYPE_APPLICATION_PANEL;
attrs.token = myInputMethodView.getWindowToken();
w.setAttributes(attrs);
d.show();

但问题是对话框需要扩展活动。“对话框始终作为活动的一部分创建和显示。通常,您应该从活动的onCreateDialog(int)回调方法中创建对话框。”我的服务需要扩展InputMethodService。但如果我想创建对话框,我需要扩展活动。你说得对,你不能在服务中创建对话框。您应该显示一个服务需要注意的通知,当用户单击它时,您应该显示一个带有所需对话框的活动。您最初的问题有些令人困惑,标题中有一个关于WindowManager的问题,文本中有一个关于创建对话框的问题,现在您讨论的是服务中的用户交互。非常感谢!现在我可以启动一个活动来接受用户输入。之后,我希望将数据传递回InputMethodService。可能吗?我使用了“意图”来传递数据。然而,当我试图检索InputMethodService中的“意图”和数据时,遇到了一些困难。