Tengo un Lenovo P770 rooteado, donde desinstalé varias aplicaciones de "sistema", incluyendo el teclado de serie, TouchPal. Después de un restablecimiento de fábrica instalé AnySoftKeyboard con adb
( adb shell ime
...), y ahora funciona. Sin embargo, ya no puedo acceder a la configuración de Idioma e introducción de datos, ya que en el momento en que toco el elemento de menú recibo el mensaje "Lamentablemente, la configuración se ha detenido". Aquí está el rastro de la pila de adb logcat
:
W/dalvikvm( 8972): threadid=1: thread exiting with uncaught exception (group=0x40db2908)
E/AndroidRuntime( 8972): FATAL EXCEPTION: main
E/AndroidRuntime( 8972): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.SubSettings}: java.lang.NullPointerException
E/AndroidRuntime( 8972): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
E/AndroidRuntime( 8972): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2211)
E/AndroidRuntime( 8972): at android.app.ActivityThread.access$600(ActivityThread.java:149)
E/AndroidRuntime( 8972): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300)
E/AndroidRuntime( 8972): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 8972): at android.os.Looper.loop(Looper.java:153)
E/AndroidRuntime( 8972): at android.app.ActivityThread.main(ActivityThread.java:5108)
E/AndroidRuntime( 8972): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 8972): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 8972): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
E/AndroidRuntime( 8972): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
E/AndroidRuntime( 8972): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 8972): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 8972): at android.preference.PreferenceGroup.removePreferenceInt(PreferenceGroup.java:181)
E/AndroidRuntime( 8972): at android.preference.PreferenceGroup.removePreference(PreferenceGroup.java:174)
E/AndroidRuntime( 8972): at com.android.settings.VoiceInputOutputSettings.populateOrRemoveTtsPrefs(VoiceInputOutputSettings.java:144)
E/AndroidRuntime( 8972): at com.android.settings.VoiceInputOutputSettings.populateOrRemovePreferences(VoiceInputOutputSettings.java:94)
E/AndroidRuntime( 8972): at com.android.settings.VoiceInputOutputSettings.onCreate(VoiceInputOutputSettings.java:89)
E/AndroidRuntime( 8972): at com.android.settings.inputmethod.InputMethodAndLanguageSettings.onCreate(InputMethodAndLanguageSettings.java:121)
E/AndroidRuntime( 8972): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:796)
E/AndroidRuntime( 8972): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
E/AndroidRuntime( 8972): at android.app.BackStackRecord.run(BackStackRecord.java:635)
E/AndroidRuntime( 8972): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
E/AndroidRuntime( 8972): at android.app.Activity.performStart(Activity.java:5030)
E/AndroidRuntime( 8972): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157)
E/AndroidRuntime( 8972): ... 11 more
W/ActivityManager( 351): Force finishing activity com.android.settings/.SubSettings
W/ActivityManager( 351): Force finishing activity com.android.settings/.Settings
Ya que el rastro de la pila menciona VoiceInputOutputSettings
Intenté instalar la aplicación de Google (por lo que entiendo, proporciona capacidades de reconocimiento de voz), pero eso no cambió nada. También he intentado instalar TouchPal del mercado, sin ningún resultado.
Aquí están las entradas de settings.db
que parecen relevantes:
_id,name,value
72,selected_spell_checker,com.google.android.inputmethod.latin/com.android.inputmethod.latin.spellcheck.AndroidSpellCheckerService
73,selected_spell_checker_subtype,0
94,input_methods_subtype_history,com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME;834845621:com.menny.android.anysoftkeyboard/.SoftKeyboard;-1
95,selected_input_method_subtype,-1
96,default_input_method,com.menny.android.anysoftkeyboard/.SoftKeyboard
97,enabled_input_methods,com.menny.android.anysoftkeyboard/.SoftKeyboard
¿Cómo puedo arreglar este accidente?