2

私のアプリは他のアプリにデータを送信します。他のアプリがソフトキーボードを開いても閉じない場合があります。問題は、アプリを再開した後、アプリ内の通常の場合のように、そのソフトウェアキーボードを閉じることができないことです。

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(view.getWindowToken(), 0);

また、view.getApplicationWindowToken()とさまざまなフラグを試しましたが、成功しませんでした。別のアプリで開いたソフトキーボードを閉じるにはどうすればよいですか?

4

1 に答える 1

0

これは単なる推測ですが、ActivityManager を取得し、最後に実行された Activity を見つけて、それが Window Token であることを確認できますか?

それが可能かどうかは正直わかりませんが、うまくいけば、それがあなたを正しい道に導きます.

アクティビティ マネージャー コード (ほとんど役に立たないことはわかっています):

// get the ActivityManager
ActivityManager result = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

編集:

それはActivityManagerの目的ではないことに注意してください...別のアクティビティのウィンドウを掘り下げるための一種のハックなソリューションになる可能性があります...

于 2012-08-02T20:31:10.693 に答える