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 回答