Получение информации об активном окне в Java

Вы можете изменять клавиатуру без уведомления пользователя и только в том случае, если ваше приложение работает как системное приложение по соображениям безопасности.

Сначала вы должны указать разрешение Android в AndroidManifest.xml вашего приложения

"android.permission.WRITE_SECURE_SETTINGS"

Затем вам нужно определить идентификатор вашей клавиатуры.

-> Чтобы узнать идентификатор, вам нужно сохранить свою клавиатуру по умолчанию из меню настройки вручную, а затем напечатать этот документ где-нибудь,

System.out.println(Settings.Secure.getString(getContentResolver(),Settings.Secure.DEFAULT_INPUT_METHOD));

После того, как вы напечатаете идентификатор, и вы знаете свой идентификатор клавиатуры, вы можете сделать это согласно ниже (я поменял мою клавиатуру по умолчанию на японский)

InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE);

//imeManager.showInputMethodPicker(); //This is to see available keyboards.
imeManager.setInputMethod(null,"jp.co.omronsoft.openwnn/.OpenWnnJAJP");

Наслаждайтесь !!

30
задан Hovercraft Full Of Eels 18 June 2011 в 11:23
поделиться