Клавиатура Android все еще видна после возврата из электронной почты

У меня есть Activity (расширение Activity), работающая в TabHost. Я запускаю клиент электронной почты Android из пользовательского действия. Если я нажму кнопку «Отменить» в клиенте электронной почты, клиент электронной почты завершит работу, но экранная клавиатура останется видимой.

У меня нет EditTexts в моем приложении, поэтому не знаю, почему клавиатура остается. Я пробовал несколько итераций. Как удалить клавиатуру после завершения операции? Однако не повезло. Есть предположения?

Образец кода

package com.test.launchmail; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.util.Log; import android.view.inputmethod.InputMethodManager; import android.widget.Toast; public class myEmail extends Activity { private final String TAG = "** Email **"; public static void send (Context ctx, String addy, String subject, String body) { // check to make sure the entry has a phone number try { // use the builtin chooser for users mail app Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.setType("text/plain"); sendIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String [] {addy}); sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, body); ctx.startActivity (Intent.createChooser(sendIntent, "Send via which Application?")); } catch (Exception e) { Toast.makeText (ctx, "No activity was found to handle this action",Toast.LENGTH_SHORT).show(); } } @Override protected void onPostResume() { // This executes, but keyboard still visible. Log.d ("myEmail", "hiding"); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (mainApp.tabHost.getCurrentTabView ().getApplicationWindowToken (),imm.HIDE_IMPLICIT_ONLY); super.onResume (); } } 

Хорошее горе, как раздражает. Я обыскал весь день и, наконец, нашел ответ, похороненный под нитью 29 разных способов сделать это. Все утверждают успех с другим вариантом InputMethodManager. Для чего это стоит, этот работал для меня Close / hide Android Soft Keyboard .

Надеюсь, когда-нибудь будет стандартный вызов API для этого.

Попытайтесь поместить в свой файл манифеста нужный вид активности (тот, который не отображается на клавиатуре): windowSoftInputMode="stateHidden"