【问题标题】:Timed out waiting on IInputContextCallback with custom keyboard on Android在 Android 上使用自定义键盘等待 IInputContextCallback 超时
【发布时间】:2016-11-17 21:36:38
【问题描述】:

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

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

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

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

但问题是它正在等待一些我看不到来源的东西(一个aidl 文件):https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.2_r1/core/java/com/android/internal/view/IInputContext.aidl

所以我不知道我们做错了什么(其他键盘没有这个问题),我真的不知道我应该如何调试它。我已经尝试从 chrome 访问网页,并且在启用其他键盘的应用程序中也没有问题,但仍然没有问题。

任何关于如何进行的想法将不胜感激。

【问题讨论】:

  • 你找到解决办法了吗?
  • @Faakhir 是的,它在下面的答案中指定。
  • 在我的情况下,自定义键盘在我的应用程序 webviews 之外工作正常,在我的应用程序键盘中也可以正常工作与其他语言问题是英文字母(没有 shift 键),android:process="webactivity “在我的情况下没有用。 Android 7.0 也不是问题。
  • @Faakhir 注意 ":"
  • 还是一样.....

标签: android keyboard


【解决方案1】:

所以这似乎是 Android 7.0 引入的“错误”(可能与新的 Web 客户端有关)。该错误只是与WebView 相同的过程中的自定义键盘将导致输入字段出现问题。解决方案是将带有WebView(s) 的活动放在单独的进程中。

清单示例:

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

【讨论】:

  • 嗨@Warpzit,您找到其他解决方案了吗?因为我不想将键盘作为一个单独的进程。当 webview 在同一个应用程序(键盘的应用程序)中打开时,我遇到了这个问题。在其他应用程序的 webview 中工作正常,没有不同的键盘过程
  • @Priyankagb 这是我找到的唯一解决方案。键盘将与应用程序具有相同的进程,托管 webview 的 Activity 需要单独的进程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
  • 2012-10-03
  • 2016-03-03
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多