2016-11-17 5 views
1

Android用のカスタムキーボードを開発しましたが、奇妙な問題に直面しています。現在のところ、この問題は少数のデバイスやログインWebサイトでしか発生しません...しかし、これにより、キーボードが非常に長い間ハングアップし、最終的にユーザーに閉じるか、または引き続き待機するかのオプションが与えられます。Androidでカスタムキーボードを使用してIInputContextCallbackを待機してタイムアウトしました

正確には、キー入力の応答時間が遅いログインページ(フラグメントウェブビュー)を持つカスタムキーボードがあります。スタックトレース後

は重要な部分である:https://android.googlesource.com/platform/frameworks/base.git/+/b798689749c64baba81f02e10cf2157c747d6b46/core/java/com/android/internal/view/InputConnectionWrapper.java

しかし、問題は、それは私がソースを見ることができない何かを待っている次のとおりです。

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/+/android-4.2.2_r1/core/java/com/android/internal/view/IInputContext.aidl

私は何が間違っているのか分かりません(他のキーボードにはこの問題はありません)。どうすればそれをデバッグするのか分かりません。私は、他のキーボードが有効になっていて問題はまだないので、アプリからも問題なしでクロムからWebページにアクセスしようとしました。

今後の進め方に関するご意見は大変ありがとうございます。

+0

どれ解決策を発見しましたか? – Faakhir

+0

@Faakhirはい、それは以下の答えで指定されています。 – Warpzit

+0

私のケースでは、カスタムキーボードは私のアプリのWebviews以外でもうまくいきます。私のアプリのキーボードでも他の言語で問題なく動作しています。シフトキーなしの英字で アンドロイド:process = "webactivity" 。 Android 7.0も問題ではありません。 – Faakhir

答えて

2

これはAndroid 7.0で導入された「バグ」(新しいWebクライアントに関連する可能性があります)のようです。このバグは、単に入力フィールドに問題が発生するWebViewと同じプロセスのカスタムキーボードです。解決策は、別のプロセスでWebView(s)でアクティビティを配置することです。

例のマニフェスト:あなたは

<activity 
     android:process=":webactivity" 
     android:label="real label" 
     android:name="com.something.activity" 
     /> 
関連する問題