2012-02-01 6 views
1

タイトルには次のように記載されています。私は、OnResume()Android:ソフトキーボードは、GmailのGmail活動の返信時に表示されます。

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(root.getWindowToken(), 0); 

を通常のを試してみましたが、キーボードがない私のアプリのウィンドウ、Gmailウィンドウから開いているので、それはおそらく、動作しません。それが重要な場合は、コードのステップ実行

は、この時点でimm.mActive == falseのを示しています。このコードをOnPostResume()に入れてみましたが、まだ効果はありません。

私はInputMethodManager.HIDE_NOT_ALWAYS代わりの0、だけでなく、効果なしを使用して試してみました。

内蔵のギャラリーアプリは、この問題を持っていないので、私は解決策が可能だと思います。

+0

あなたは、このためのソリューションを手に入れたのに役立ちます

this.getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); 

希望を? – Noundla

+0

いいえ、残念ながら。 – Ken

答えて

0

私はあなたがキーボードを隠すために、アプリケーションのコンテキストを取得する必要があると思います。このような何か:

View v = (Your Base Layout) findViewById(R.id....); 
InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 

それはあなたもこの試すことができます動作しない場合:これは:)

+0

どちらもうまくいきませんでした。残念ながら – Ken

+0

私はAndroidの「初心者」ですが、これはアプリケーションのコンテキストと関係があります。私はandroid.content.ContextのAPIを見て、ギャラリーアプリから切り替えたときに同じ問題が起こっていないことを考えました。アプリを切り替えるときにGmailアプリと完全に関係なく。 onResume()メソッドからGmailアプリを終了させるために使用できる 'this.getApplicationContext.stopService(Intent intent)'というメソッドがあります。私はこれを試してみるためにXoomを持っていないので、私はb4を試すことができません。私はお勧めします – edc598

+0

まだ運がありません。私はそれを開始したのと同じ意図を使用していました。 'stopService()'関数はfalseを返し、サービスを見つけることができなかったことを示します。たぶん、Gmailアプリはサービスとはみなされません。 – Ken

関連する問題