在android中检测键盘

时间:2013-04-19 10:30:29

标签: android android-drawable

我有一个Android应用程序,其中包含已安装应用程序的列表,并在项目点击时启动它们。在我的应用程序中,我使用Intent.ACTION_CLOSE_SYSTEM_DIALOG广播来关闭系统对话框,如任务管理器(最近的应用程序对话框),电源选项对话框,低电量对话框等....但是这会在某些设备中隐藏键盘。我想确保用户无法与我的应用程序中的最近应用程序对话框进行交互。如何关闭除键盘以外的系统对话框?如何检查键盘是否可见是否可以检测最近的应用程序对话框?我被困在这几个小时。任何帮助都必须欣赏。

1 个答案:

答案 0 :(得分:0)

我已经使用此代码来检测键盘。

view.getViewTreeObserver().addOnGlobalLayoutListener(
                new OnGlobalLayoutListener() {

                    @Override
                    public void onGlobalLayout() {


                            int heightDiff = 

view.getRootView().getHeight()
                                    - view.getHeight();
                            if (heightDiff > 200) {
                                keyboardUp = true;

                                return;
                            }
                            if (keyboardUp) {
                                keyboardUp = false;

                            }
                            Log.e("Keyboard", "" + keyboardUp);
                        }
                    });