- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Android 上,我想以编程方式检查我的应用程序提供的 InputMethod 是否是当前激活的输入法。
目前,我使用了一个技巧:检测我的 InputMethodService 是否启动。
public boolean isInputMethodEnabled() {
ActivityManager activityManager = (ActivityManager).getSystemService(ACTIVITY_SERVICE);
List<RunningServiceInfo> servicesInfo = activityManager.getRunningServices(Integer.MAX_VALUE);
for (RunningServiceInfo serviceInfo : servicesInfo) {
if (MyInputMethodService.class.getName().equals(serviceInfo.service.getClassName())) {
return true;
}
}
return false;
}
这在一般情况下运行良好,但在更新应用程序时失败:我的输入法仍处于选中状态,但服务尚未启动。该服务将在第一次需要键盘时启动,直到那时 isInputMethodEnabled() 将返回 false。
所以我的问题是:你知道另一种检查我的输入法是否被选中的方法吗,或者你知道在更新后重新启动输入法服务的方法,而不必显示 TextView ?
最佳答案
我在另一个 Stack Overflow 问题上找到了答案:
Android: Determine active input method from code
以下代码(已更新)起到了作用:
public boolean isInputMethodEnabled() {
String id = Settings.Secure.getString(mContext.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
ComponentName defaultInputMethod = ComponentName.unflattenFromString(id);
ComponentName myInputMethod = new ComponentName(mContext, MyInputMethodService.class);
return myInputMethod.equals(defaultInputMethod);
}
关于android - 确定启用的输入法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171193/
我刚刚启动并运行了 AVD,并让“HelloWorld”开始工作。现在我认为下一个合乎逻辑的步骤是更熟悉 I/O,所以,我想创建和输入框,并有一个按钮(或某种触发器)在用户完成输入时点击,然后读取它,
由于语言环境差异," 和 ' 符号在 gtk- 中显示为 ě 和 ´基于文本编辑器。 为了在我自己的 Gtk3 应用程序中解决这个问题,我使用 GdkEventKey 来检测用户是否按下这些按钮,如果
我需要在我的服务的不同输入法之间切换。如果我的服务本身就是一个输入法 (InputMethodService),那么我可以从它切换到不同的输入,但之后我无法返回。系统似乎只允许当前激活的输入法切换到其
我正在尝试使用Input Method Kit创建一个新的输入法。文档非常缺乏,但我相信我正确设置了项目,并且在构建后将输入法放入 ~/Library/InputMethods 中。但是,在查看语言和
如何确定当前处于 Activity 状态的输入法 - 用户可以通过长按文本编辑字段来更改输入法(软键盘) - 从代码中,如何确定用户选择了哪种输入法 最佳答案 我知道你可能不再需要这个了,但有人可能想
我目前正在开发一个 IME,它需要知道文本内容才能计算出光标所在的行和字符等内容。这适用于全屏模式下的提取文本,但我不想强制全屏。这是我当前实现的相关代码: private ExtractEditTe
我有一个加载带有表单的网页的 WebView,如果他们使用屏幕键盘作为输入法,我想尽可能使用最基本的键盘以节省屏幕空间。我还想禁用屏幕键盘中的单词建议等功能。这可能吗? 最佳答案 您不能在任何地方更改
我正在编写一个 Vim 插件来设置 iBus 引擎和输入法。到目前为止,我可以使用以下代码更改引擎: function! im#setEngine(name) python << EOF try:
我在使用韩语 Windows IME 时遇到问题。我正在为一款嵌入式软件设计虚拟(屏幕/软件)键盘。我依赖 Windows IME,它似乎适用于日语和中文。如果我使用的是物理键盘,它也可以完美地处理韩
这个问题在这里已经有了答案: How can I prevent SQL injection in PHP? (27 个答案) 关闭 6 年前。 这是我的一个login.php 的基本代码。它包含一
在 Jetpack Compose 中构建一个简单的键盘相当简单明了。 我使用这个构建了一个非常简单的 KeyRow: key .kt @Composable fun Key(modifier: Mo
我是一名优秀的程序员,十分优秀!