我想创建一个隐藏键盘的活动。活动将继续作为服务在后台运行,并防止键盘对所有应用程序可见。因为除非活动停止,否则键盘不会出现。有人能指出我正确的来源吗?
答案 0 :(得分:0)
将以下代码放在清单文件中:
<activity
android:name=".View.ViewRegistration"
android:configChanges="keyboardHidden"
android:windowSoftInputMode="stateHidden" />
我希望它对你有用。你可以在onresume()和onPause()的每个活动中调用以下方法。
public static void hideKeyboard(final Activity activity) {
InputMethodManager inputManager = (InputMethodManager) activity
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (activity.getCurrentFocus() != null) {
inputManager.hideSoftInputFromWindow(activity.getCurrentFocus()
.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
答案 1 :(得分:0)
活动不能仅仅保留在后台作为服务运行&#34;。
活动是用户可以做的一件重点事。几乎所有活动都与用户交互,因此Activity类负责为您创建一个窗口......
您需要创建Service
。我没有尝试通过服务隐藏键盘,但一个疯狂的猜测是,它是不可能的。
解决方案可能是创建自己的键盘,然后用户需要切换到。
答案 2 :(得分:0)
您可以在manifest
中为您需要隐藏键盘的所有活动添加以下一行代码:
android:windowSoftInputMode="stateHidden"
例如:
<activity
android:name="com.example.yourappname.MainActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden"
>