Nota La solución de los comandos requiere adb configuración en el PC y la solución se prueba en Android 4.2.1, 5.0.2 y 5.1.1.
Si no tienes ninguna aplicación de teclado instalada en el sistema, entonces utiliza la versión web de Play Store para instalar remotamente una aplicación de teclado en tu sistema (requiere una conexión a internet activa en tu dispositivo) u obtén el APK de tu teclado desde algún lugar de alguna manera e instalarlo en tu sistema. Usted puede instalarlo:
Una vez configurada la aplicación, ejecuta este comando en el PC:
adb shell ime list -a
Enumerará todos los servicios IME (Input Method) disponibles (activados o no) en su sistema.
Salida de demostración:
com.android.inputmethod.latin/.LatinIME:
mId=**com.android.inputmethod.latin/.LatinIME** mSettingsActivityName=com.android.inputmethod.latin.settings.SettingsActivity
mIsDefaultResId=0x7f070000
Service:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
ServiceInfo:
name=com.android.inputmethod.latin.LatinIME
packageName=com.android.inputmethod.latin
labelRes=0x7f08003a nonLocalizedLabel=null icon=0x0 banner=0x0
enabled=true exported=true processName=com.android.inputmethod.latin
permission=android.permission.BIND\_INPUT\_METHOD
flags=0x0
net.zhdev.ctrlvkeyboard/.CtrlVKeyboard:
mId=**net.zhdev.ctrlvkeyboard/.CtrlVKeyboard** mSettingsActivityName=null
mIsDefaultResId=0x0
Service:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
ServiceInfo:
name=net.zhdev.ctrlvkeyboard.CtrlVKeyboard
packageName=net.zhdev.ctrlvkeyboard
labelRes=0x7f0b0015 nonLocalizedLabel=null icon=0x0 banner=0x0
enabled=true exported=true processName=net.zhdev.ctrlvkeyboard
permission=android.permission.BIND\_INPUT\_METHOD
flags=0x0
com.touchtype.swiftkey/com.touchtype.KeyboardService:
mId=**com.touchtype.swiftkey/com.touchtype.KeyboardService** mSettingsActivityName=com.touchtype.settings.TouchTypeKeyboardSettings
mIsDefaultResId=0x0
Service:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
ServiceInfo:
name=com.touchtype.KeyboardService
packageName=com.touchtype.swiftkey
enabled=true exported=true processName=com.touchtype.swiftkey
permission=android.permission.BIND\_INPUT\_METHOD
flags=0x0
Las cadenas resaltadas junto a mId=
son los ID de las aplicaciones de teclado disponibles en mi sistema.
En cualquier ID, la cadena antes de /
es el nombre del paquete de la aplicación de teclado. Ejemplo: para el teclado Swiftkey, el mId es:
com.touchtype.swiftkey/com.touchtype.KeyboardService
La cadena com.touchtype.swiftkey
es el nombre del paquete de la aplicación Swiftkey. Nombre del paquete es lo que le ayudará a encontrar el mID apropiado que debe utilizar para habilitar una determinada aplicación de teclado .
Para conocer el nombre del paquete de una aplicación, siga ¿Ver el nombre completo del paquete de la aplicación?
Una vez que tengas el ID apropiado, úsalo para hacer que tu aplicación sea el teclado por defecto en tu sistema. Hazlo:
# Note that it doesn't matter whether the IME is added into enabled input methods or not. Consider this a direct override.
# Replace ID with mId of your keyboard app
adb shell settings put secure default_input_method "ID"
adb shell content update --uri content://settings/secure --bind value:s:"ID" --where "name='default_input_method'" # alternative to above command
adb reboot # optional
Intenta abrir una aplicación que requiera la introducción de datos desde un teclado. Verás tu aplicación de teclado.
(Haga clic en la imagen para ampliarla; cortesía de OP)