Mam aplikację na Androida, która udostępnia listę sklepów spożywczych za pośrednictwem poczty e-mail. Mam problem z tym, że po wysłaniu listy przez klienta poczty e-mail (może to być klient giełdowy lub klient Gmaila), klawiatura się nie zamknie.Klawiatura nie zamyka się po powrocie z klienta poczty elektronicznej
Próbowałem:
InputMethodManager mgr = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(editTxt.getWindowToken(), 0);
i wiele innych sposobów. Jeśli sprawdzę, czy klawiatura jest otwarta, zwróci ona false
, ponieważ nie jest to aplikacja, która nazywa się klawiatura, ale klient poczty e-mail.
znalazłem obejście tym:
android:windowSoftInputMode="stateAlwaysHidden"
następnie aplikacja wymusi zamknięcie klawiatury, ale nadal pozostaje w tyle za każdym razem, gdy ponownie otworzyć klawiaturę.
W przypadku telefonu Samsung problem występuje tylko wtedy, gdy korzystam z klienta Gmail.
Nie ma wyraźniejszego sposobu, aby dokładnie wiedzieć, kiedy, jak przypuszczam. Nawet przez sondowanie, prawda? Próbowałem wsadzić nos w metody obsługi metod wprowadzania danych i pola struktur danych, ale nie udało mi się znaleźć niczego związanego z bieżącym fokusowaniem. – Meymann