cómo cambiar el método de entrada con el comando ime

Quiero saber cómo cambiar el método de entrada usando la línea de comando. ¿Algunas ideas? Lo siento por mi ingles.

He intentado esto:

C:\Users\admin>adb shell
shell@android:/ $ ime list -a
ime list -a
com.huawei.inputmethod.hwpal/.PinyinIME:
  mId=com.huawei.inputmethod.hwpal/.PinyinIME mSettingsActivityName=com.huawei.i
nputmethod.hwpal.SettingsActivity
  mIsDefaultResId=0x7f080000
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.huawei.inputmethod.hwpal.PinyinIME
      packageName=com.huawei.inputmethod.hwpal
      labelRes=0x7f0c0000 nonLocalizedLabel=null icon=0x0
      enabled=true exported=true processName=com.huawei.inputmethod.hwpal
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
org.apelikecoder.bulgariankeyboard/.BulgarianIME:
  mId=org.apelikecoder.bulgariankeyboard/.BulgarianIME mSettingsActivityName=org
.apelikecoder.bulgariankeyboard.BulgarianIMESettings
  mIsDefaultResId=0x0
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=org.apelikecoder.bulgariankeyboard.BulgarianIME
      packageName=org.apelikecoder.bulgariankeyboard
      enabled=true exported=true processName=org.apelikecoder.bulgariankeyboard
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeyboard:
  mId=com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeybo
ard mSettingsActivityName=com.example.android.softkeyboard.FKSettings
  mIsDefaultResId=0x0
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.example.android.softkeyboard.SoftKeyboard
      packageName=com.thihaayekyaw.frozenkeyboard
      enabled=true exported=true processName=com.thihaayekyaw.frozenkeyboard
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
shell@android:/ $ ime enable com.example.android.softkeyboard.SoftKeyboard
ime enable com.example.android.softkeyboard.SoftKeyboard
Error: Unknown id: null
shell@android:/ $

Respuestas (1)

El ID de un IME no es solo el nombre de la clase. Múltiples paquetes, firmados por diferentes certificados de desarrollador, pueden usar el mismo nombre de clase. Eso es especialmente probable en este caso donde se trata de un ejemplo descargado. Debe usar ambas partes de la identificación, antes y después del archivo /. En este caso:

shell@android:/ $ ime enable com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeyboard

Tenga en cuenta, sin embargo, que eso ime enableno selecciona ese método de entrada: simplemente permite que se seleccione marcando su casilla de verificación en la lista IME en ConfiguraciónIdioma y entrada . Para seleccionar un IME (es decir, para que sea el que aparecerá cuando EditTextse enfoca un correo electrónico), debe usar ime set:

shell@android:/ $ ime set com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeyboard