Mejor manera de obtener todo el texto en un EditText de un InputConnection?

He escrito un IME (InputMethodService) y necesito conseguir todo el texto del EditText que está corrigiendo. Yo sé una manera:

InputConnection inputConnection = getCurrentInputConnection(); inputConnection.append(inputConnection.getTextBeforeCursor(9999, 0)) .append(inputConnection.getTextAfterCursor(9999, 0)); 

Funciona, pero parece bastante estúpido y torpe. Sin embargo, no existe tal método InputConnection.getText() .

¿Hay una mejor manera?

PS No puedo acceder al EditText de mi IME porque pertenece a la aplicación primaria así que por favor no me diga que use EditText.getText (), a menos que sepa una manera de obtener el EditText!

También fui tratado muy difícilmente para él pero todavía no conseguí ninguna solución apropiada.

Aquí también hay otra forma de hacerlo ..

 inputConnection.performContextMenuAction(android.R.id.selectAll); CharSequence sData = inputConnection.getSelectedText(0); 

Mi solución es utilizar getExtractedText (). No estoy seguro si esto tiene algunas limitaciones, pero ha funcionado para mí hasta ahora.

 CharSequence currentText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0).text; 
  • Estoy haciendo un IME de Android. ¿Cómo puedo añadir un elemento de lista "Configuración" en la pantalla de configuración "Idioma y teclado"?
  • Deshabilitar la vista de edición de pantalla completa para la entrada de teclado suave en el paisaje, desde la perspectiva del usuario?
  • Android TV (Leanback Launcher) - El teclado del desarrollador android no funciona
  • ¿Deshabilitar la vista de edición de pantalla completa para la entrada de teclado suave en paisaje?
  • El teclado flexible no se oculta mediante programación en android
  • InputConnection.commitText (texto CharSequence, int newCursorPosition) sólo puede confirmar caracteres y números en inglés?
  • Android: Retroceso en WebView / BaseInputConnection
  • Activar y controlar el cursor del ratón en android
  • Comportamiento de imeOpciones, ImeActionId e ImeActionLabel
  • Custom EditText no muestra el teclado en el enfoque
  • ¿Cómo determinar el IME actual en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.