我想对于所有输入框做一个软键盘处理,搜索网上的资料发现大家提供了两种方法:

第一种:

public static void closeKeyBoard(){
//       if (getWindow().getAttributes().softInputMode == WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED) {
//            
//             InputMethodManager imm = (InputMethodManager) getApplicationContext()
//                             .getSystemService(Context.INPUT_METHOD_SERVICE);
//
//             imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
//     } 

第二种:

是监控页面 layout 变化,用来判断是否调出软键盘。

但是自动化的 appium 框架用的是 java,如上方法都需要调用 Android SDK 的 Activity, 该如何导入?希望大家能提出好的建议。

我想实现的判断就是,如果当前软键盘调出,Press Back.
谢谢!

AppiumDriver 方法解决软键盘问题:

public static void closeKeyBoard(AppiumDriver driver){
  try {
      driver.hideKeyboard();
    } catch (WebDriverException ex) {
      AutoLog.log("<Keyboard>Soft keyboard not present, cannot hide keyboard!!!");;
    }
}


↙↙↙阅读原文可查看相关链接,并与作者交流