AccessibilityNodeInfo - envia texto

Estou desenvolvendo um aplicativo Android, para o qual tenho que enviar texto paraEditText campo de outras aplicações.

Eu fiz isso emAPI level 18 e acima usandoAccessibilityService, quando encontro oEditText, Colo os dados do ClipBoard. Aqui está o código,

public class TestService extends AccessibilityService {

  @Override
  public void onAccessibilityEvent(AccessibilityEvent event) {
        AccessibilityNodeInfo source = event.getSource();
        if (source != null && event.getEventType() == AccessibilityEvent.TYPE_VIEW_CLICKED && event.getClassName().equals("android.widget.EditText")) {
                ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
                ClipData clip = ClipData.newPlainText("label", "TEST DATA");
                clipboard.setPrimaryClip(clip);
                source.performAction(AccessibilityNodeInfo.ACTION_PASTE);
        }
   }
}

Mas,AccessibilityNodeInfo.ACTION_PASTE está disponível no nível 18 da API e acima.

Podemos alcançar o mesmo no nível da API <18?

Li em alguns blogs que isso pode ser feito usandoInputMethodService, onde criamos nosso próprio teclado e enviamos texto por esse teclado virtual. Eu não entendi muito disso ...

Alguém pode me ajudar com isso.

questionAnswers(3)

yourAnswerToTheQuestion