2015-08-10 5 views
1

Я запустил намерение ACTION_INPUT_METHOD_SETTING, которое дает пользователю возможность активировать softInput (клавиатуру). Я хочу закрыть активность настройки (намерение, которое я начал), когда пользователь активировал мой желаемый мягкий ввод/клавиатуру.Android: обнаружит, когда включена мягкая клавиатура

ответ

1

Я нашел ответ на этот post из Sujay:

Вы можете закрыть все действия от фона и при повторном открытии приложения Она начинается с первого действия

this.finish(); 
Intent intent = new Intent(getApplicationContext(), CloseApp.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 

Вы можете закрыть все действия с фона и при повторном открытии приложения. Он начинается с приостановленной активности [где вы закрыли] активировать y

this.finish(); 
Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
1

Нет прямого способа его определить - см. http://groups.google.com/group/android-platform/browse_thread/thread/1728f26f2334c060/5e4910f0d9eb898a, где ответила Диана Хакборн из команды Android. Однако вы можете обнаружить это косвенно, проверяя, изменился ли размер окна в #onMeasure. См. Android: Is software keyboard shown?.

0

Попробуйте

InputMethodManager imm = (InputMethodManager)getActivity().getApplicationContext().getSystemService( Context.INPUT_METHOD_SERVICE); 
    Log.e(TAG, "Result :"+imm.isActive());  
+0

Спасибо! Я пробовал isActive() раньше. Выход из журнала «ложный», даже если клавиатура работает нормально, я не понимаю. – Bookan

+0

С помощью InputMethodManager я могу показать только InputMerhodSelection. Я не могу включить его. – Bookan

Смежные вопросы