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
где мы создаем нашу собственную клавиатуру и отправляем текст через эту программную клавиатуру. Я не очень понял этого ...
Может ли кто-нибудь помочь мне в этом.