Ich entwickle eine Android-App, wo ich Text zu fokussierten EditText
Feld anderer Anwendungen senden muss.AccessibilityNodeInfo - Text senden
Ich habe es in API level 18
und oben unter Verwendung AccessibilityService
getan, wenn ich die EditText
finde, füge ich die Daten von ClipBoard ein. Hier ist der Code,
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);
}
}
}
Aber AccessibilityNodeInfo.ACTION_PASTE
ist in API Level 18 und höher zur Verfügung.
Können wir dasselbe in API Level < 18 erreichen?
Ich lese in einigen Blogs, dass es mit InputMethodService
getan werden kann, wo wir unsere eigene Tastatur erstellen und Text über diese Soft-Tastatur senden. Ich habe nicht viel davon verstanden ...
kann mir jemand dabei helfen.
Amith, haben Sie herausfinden, wie ACTION_PASTE in API-Ebene unter 18 zu erreichen? – androidGuy
ab sofort gibt es keine Möglichkeit, es zu tun – amithgc