【问题标题】:Prevent soft input from appearing防止出现软输入
【发布时间】:2019-03-27 12:22:49
【问题描述】:

我有一个连接到 Android 平板电脑的蓝牙条码扫描器。 Android 设置中禁用了硬件键盘。这让我既可以扫描条形码,也可以使用软键盘打字。

当我扫描条形码时,我的活动会按预期捕获所有键。但是出现了软键盘。

如何防止出现软键盘?

我尝试了以下方法:

android:windowSoftInputMode=stateHidden

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

(或stateAlwaysHidden),

但没有任何效果。当应用程序捕获硬件按键时,会出现软键盘。

【问题讨论】:

  • 尝试使用 dispatchTouchEvent
  • @ashishdhiman2007 ,此代码只是禁用与应用程序的任何触摸交互。

标签: android android-softkeyboard barcode-scanner


【解决方案1】:

在清单中,请您尝试以下操作

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
          android:label="@string/app_name"
          android:windowSoftInputMode="stateHidden">

【讨论】:

  • 谢谢。正如我在问题中所写,这无济于事。扫描条码时显示软键盘。
【解决方案2】:

请将此属性添加到清单中的activity

  android:windowSoftInputMode="stateHidden"

【讨论】:

  • 谢谢,但这是 Alok Gupta 答案的副本。
【解决方案3】:

这个对我有用:

public static void hideSoftInput(Activity activity) {
    View view = activity.getCurrentFocus();
    if (view == null) view = new View(activity);
    InputMethodManager imm = (InputMethodManager) activity
            .getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

【讨论】:

  • 谢谢。此代码在出现后隐藏键盘。我想完全阻止出现。
猜你喜欢
  • 2011-12-13
  • 2013-03-28
  • 1970-01-01
  • 2019-12-18
  • 2014-03-29
  • 1970-01-01
  • 2019-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多