- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试实现自己的 android IME。在 InputMethodService.onStartInputView
中,我保存了对 getCurrentInputConnection
返回的 InputConnection
的引用,供以后使用。在 keyup 事件中,我调用 InputConnection.commitText
将一些文本提交到屏幕上。
但我发现在某些应用程序中,该函数调用没有任何效果(屏幕上什么也没有显示),而
softKeyBoard sdk 示例运行良好。唯一的区别是示例使用 getCurrentInputConnect
来提交字符。此外,我的应用程序中的声明是false
mCurrentInputConnection == Ime.getCurrentInputConnection()
在source code在 IME 服务中,有两个 InputConnection 成员:mInputConnection 和 mStartedInputConnection,getCurrentInputConnection
可能会返回其中一个。
我知道我每次都可以调用 getCurrentInputConnection
,但我只是想避免因性能问题而调用函数(因为它会被调用得太频繁)。那么有没有其他方法可以获取正确的 InputConnection? (两者有什么区别?)
最佳答案
InputConnection
的单个实例停止工作,因为一旦您打开其他应用程序或更改 editText 字段,新客户端已与您的 IME 绑定(bind),因此输入连接已更改。
如果您想避免多次调用 getCurrentInputConnection()
,那么您可以在每次更改时存储一个 InputConnection
对象。它的回调是onBindInput .
关于android - InputMethodService 中有两个 InputConnection 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25479807/
如何获取默认InputMethod的InputMethodService? 我已经试过了 this但我不知道如何通过 InputMethodInfo 获取 InputMethodService: In
我正在为Android开发一个软键盘。我想从 settingsAcitivity 重新启动输入法服务。我能做到吗? 最佳答案 我现在明白了。我在 onStartInputView 方法中添加了这一行。
我已经扩展了 InputMethodService类来创建我的自定义 IME。但是,我正在努力编写有效的 Instrumentation 测试用例来验证行为。以前是 Service , 可以使用 Se
我有一个 Android 的基本实现 InputMethodService我正在尝试为其编写单元测试。我的应用程序没有任何 Activity ,只有 InputMethodService 的实现。 到
我用 InputMethodService 制作了一个 Android 自定义键盘应用程序。 现在我想在 space key 上滑动,所以当用户滑动 space key 时,键盘语言会更改为下一个(向
我的应用程序有 2 个部分。一个 InputMethodService 和一个 Activity。我所做的是单击 Activity 中的按钮以查看所有可用的 InputMethods,但我在列表中看不
我想将扩展 InputMethodService 的自定义软键盘与另一个服务连接起来。我需要从通用服务调用我的软键盘中的方法。 问题是我无法扩展 Binder 类,因为 onBind() 方法在 Ab
我有一个非常简单的 InputMethodService,我所做的就是记录生命周期的不同阶段。我的 onCreateInputView 从未被调用,并且日志显示奇怪的事情。 MyInput
是否可以获取特定 View (或 PopupWindow)的 Window 对象? 我的应用是一个键盘,所以它是一个服务(一个InputMethodService),而不是一个 Activity 。因
抱歉再次打扰,但在我的 Android 键盘上有 public class zyz extends InputMethodService implements KeyboardView.OnKeybo
为什么我在 Eclipse 中收到以下代码的错误? 代码: public class ServiceKeyboard extends InputMethodService implements Key
我决定为我的应用程序创建一个自定义键盘。我知道这不是最好的主意,因为它损害了用户友好性,这就是为什么我将在首选项中将其设为可选。 在一个类中完成所有操作之后 public class CustomKe
我正在开发软键盘一切正常但是当我改变方向时出现以下错误 “startExtractingText 中出现意外的 null:mExtractedText = null,输入连接 = com.androi
我有一个正在开发的 Android 键盘应用程序,它输出简单的符号而不是语言,也就是说,我希望能够跟踪用户 Activity ,因为不涉及敏感信息或文字。 问题是 Android 的 InputMet
我正在尝试实现自己的 android IME。在 InputMethodService.onStartInputView 中,我保存了对 getCurrentInputConnection 返回的 I
我认为我的问题标题足以说明我现在面临的问题。我创建了一个实现 InputMethodService 的类,我启动了这个服务,然后我从我的 Activity 中调用了 InputConnection 值
我想用我的 android 自定义键盘使用回车键进行搜索,但它不起作用。 我已经映射了键,我只需要在搜索文本字段上触发“搜索操作”,就像在 google 上搜索一样。 我试过这段代码来触发搜索操作,但
我正在尝试创建一个 android 键盘,这段代码到目前为止工作正常 package keyboard.rob.com; import... public class xyz extends Inpu
我有一个软键盘作为调用 Activity 的输入法服务。按下按钮并激活扫描仪。 scanner Activity 捕获一组数据,然后将数据返回到 inputmethodservice 以在浏览器上填写
InputMethodService.onKey 和 OnKeyboardActionListener.onkeydown 有什么区别 如果我想处理handleCharacter,我需要使用哪个方法
我是一名优秀的程序员,十分优秀!