AccessibilityNodeInfo - отправить текст

Я разрабатываю приложение для Android, где я должен отправить текстEditText область других приложений.

Я сделал это вAPI level 18 и выше, используяAccessibilityServiceкогда я найдуEditTextЯ вставляю данные из ClipBoard. Вот код,

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);
        }
   }
}

Но,AccessibilityNodeInfo.ACTION_PASTE доступно в API уровня 18 и выше.

Можем ли мы достичь того же уровня API уровня <18?

Я читал в некоторых блогах, что это можно сделать с помощьюInputMethodServiceгде мы создаем нашу собственную клавиатуру и отправляем текст через эту программную клавиатуру. Я не очень понял этого ...

Может ли кто-нибудь помочь мне в этом.

Ответы на вопрос(3)

Ваш ответ на вопрос