我们已经开发了适用于Android的自定义键盘,并且面临着一个奇怪的问题.目前,该问题仅在少数设备上以及在我们的登录网站上才会发生…但是,这导致我们的键盘挂起了很长时间,最终使用户可以选择关闭或继续等待.
确切地说,我们有一个自定义键盘,该键盘具有一个登录页面(片段Webview),该页面的按键输入响应时间较慢.
以下堆栈跟踪是重要的部分:
11-17 09:35:07.535 5935-5935/xxx W/InputConnectionWrapper.ICC: Timed out waiting on IInputContextCallback
但是问题是它正在等待某种我看不到的东西(一个辅助文件):https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.2_r1/core/java/com/android/internal/view/IInputContext.aidl
因此,我不知道我们在做什么错(其他键盘没有此问题),我也不知道该如何调试.我尝试从chrome访问网页,也没有从启用了其他键盘的应用中访问任何问题,但仍然没有问题.
任何有关如何进行的想法将不胜感激.
解决方法:
因此,这似乎是Android 7.0引入的“错误”(可能与新的Web客户端有关).该错误仅是一个自定义键盘,其处理过程与WebView将在输入字段中出现问题的过程相同.解决方案是将带有WebView的活动放在单独的过程中.
清单示例:
<activity
android:process=":webactivity"
android:label="real label"
android:name="com.something.activity"
/>