Я строю специальную клавиатуру Android, и я не могу исправить эту ошибку - у меня есть клавиатура на арабском и QWERTY-клавиатуре, и когда я поворачиваю свое устройство на клавиатуре QWERTY (или даже арабский сдвиг), это как если бы моя программа была «перезапущена», и она становится арабской клавиатурой без сдвига.Мягкая клавиатура Android возвращается к стандартной клавиатуре при изменении ориентации
onSaveInstanceState(Bundle savedInstanceState)
не работает, потому что моя заявка не распространяется Activity
, но InputMethodService
.
я поставил следующие в моем андроида манифеста
android:configChanges="keyboard|keyboardHidden|orientation"
android:windowSoftInputMode="stateUnchanged|adjustResize">
Я попытался с помощью
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.i(MYDEBUG, "Config Changed " + currentKeyboard.equals(qwerty));
}
Однако currentKeyboard.equals(qwerty))
всегда приводит к ложным, и я убедился, что это правда как раз перед изменением ориентации.
Любая помощь будет высоко оценена.
Извините, как остановить приложение после перезапуска? Я думал, что добавление строки кода в манифесте перестает это делать. – sometimes24
Добавление этого файла в манифест приложения. Добавление его к клавиатуре не делает. Это просто прекратит перезапуск службы клавиатуры. –
Извините, что вы меня потеряли. Я немного новичок в области разработки Android. Как вы думаете, вы можете уточнить, что вы сказали? спасибо – sometimes24