在Android上使用自定义键盘等待IInputContextCallback超时

时间:2016-11-17 09:06:34

标签: android keyboard

我们为Android开发了自定义键盘,我们面临着一个奇怪的问题。该问题目前只发生在少数设备和我们的登录网站上...但它导致我们的键盘长时间挂起,最终让用户可以选择关闭或继续等待。

准确地说,我们有一个自定义键盘,它有一个登录页面(片段webview),对键输入的响应时间很慢。

跟踪堆栈跟踪是重要的部分:

11-17 09:35:07.535 5935-5935/xxx W/InputConnectionWrapper.ICC: Timed out waiting on IInputContextCallback

可以在此处阅读Android源文件:https://android.googlesource.com/platform/frameworks/base.git/+/b798689749c64baba81f02e10cf2157c747d6b46/core/java/com/android/internal/view/InputConnectionWrapper.java

但问题是它正在等待我无法看到(援助文件)来源的内容:https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.2_r1/core/java/com/android/internal/view/IInputContext.aidl

所以我不知道我们做错了什么(其他键盘没有这个问题),我真的不知道应该如何调试它。我尝试从Chrome浏览器访问该网页,同时启用了其他键盘的应用也没有任何问题,但仍然没有问题。

非常感谢任何关于如何进行的想法。

1 个答案:

答案 0 :(得分:4)

所以这似乎是Android 7.0引入的“bug”(可能与新的Web客户端有关)。该错误只是一个自定义键盘,在同一过程中WebView会给输入字段带来问题。解决方案是将WebView(s)的活动置于单独的过程中。

示例清单:

    <activity
        android:process=":webactivity"
        android:label="real label"
        android:name="com.something.activity"
        />