Если ваше приложение имеет системные привилегии, и имеет разрешение
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
вы можете включить программно клавиатуры и установить его в качестве текущей клавиатуры, сделав его клавиатуры по умолчанию БЕЗ ЗНАНИЙ ПОЛЬЗОВАТЕЛЯ ИЛИ ВМЕШАТЕЛЬСТВО!
//get the old default keyboard in case you want to use it later, or keep it enabled
String oldDefaultKeyboard = Settings.Secure.getString(resolver, Setting.Secure.DEFAULT_INPUT_METHOD);
//enable your keyboard
Settings.Secure.putString(resolver, Settings.Secure.ENABLED_INPUT_METHODS, "com.my.keyboard/.full.path");
//set your keyboard as the new default keyboard
Settings.Secure.putString(resolver, Settings.Secure.DEFAULT_INPUT_METHOD, "com.my.keyboard/.full.path");
Вы можете включить несколько клавиатур (например, клавиатуры по умолчанию и самостоятельно), предоставляя список клавиатур к ENABLED_INPUT_METHODS
, разделенных «:». См docs
Вы можете проверить полный пакет вашей клавиатуры и пути ID, вызывая ime list -a
через adb shell
согласен с тем, что сказал Commonsware, но я принял ваш ответ, потому что это мое исследовательское приложение для исследования пользователя, и его не собирается играть в магазин (я должен был упомянуть об этом в исходном вопросе). – rajankz