简体   繁体   中英

Accessibility to edit text in other application

. I want a way to access edit text in another application through my application. Because I want to edit in it I try with broadcast but I field

You can try AccessibilityEvent

 public void onAccessibilityEvent(AccessibilityEvent event) {
        Log.e("-onAccessibilityEvent-", "----------");
        AccessibilityNodeInfo source = event.getSource();
    if (source1.getClassName().equals("android.widget.EditText")) {
      ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                    ClipData clip = ClipData.newPlainText("label","android");
                    clipboard.setPrimaryClip(clip);
                    source1.performAction(AccessibilityNodeInfo.ACTION_PASTE);

}}

You Need to Register in onServiceConnected

public void onServiceConnected() {
        Log.e("-onServiceConnected-", "----------");
        AccessibilityServiceInfo info = new AccessibilityServiceInfo();
        info.flags = AccessibilityServiceInfo.DEFAULT |
                AccessibilityServiceInfo.FLAG_RETRIEVE_INTERACTIVE_WINDOWS |
                AccessibilityServiceInfo.FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY |
                AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS |
                AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS |
                AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS |
                AccessibilityServiceInfo.FLAG_REQUEST_FILTER_KEY_EVENTS;
        info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
        info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
        setServiceInfo(info);
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM