小编Reh*_*oor的帖子

来自API22的AccessibilityService工作的粘贴在API17中不起作用

当我在API22上运行我的代码时,它运行得很好,粘贴了我EditText在启动该应用程序的应用程序中所需的"测试测试" AccessibilityEvent.但是当我在API 17上运行它时,它不起作用.它将数据复制到剪辑但无法粘贴.我要求该机制适用于API 16及更高版本.

到目前为止这是我的代码:

public class MyAccessibilityService extends AccessibilityService {
    @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {
        AccessibilityNodeInfo nodeInf = null;
        AccessibilityNodeInfo nodeInfo = null;
        final int eventType = event.getEventType();
        String eventText = null;
        switch(eventType) {
            case AccessibilityEvent.TYPE_VIEW_CLICKED:
                eventText = "Clicked: ";
                nodeInf = this.getRootInActiveWindow();
                Log.d("AccessibilityNodeInfo", ""+ nodeInf.getChildCount());
                nodeInf.recycle();
                break;
            case AccessibilityEvent.TYPE_VIEW_FOCUSED:
                AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event);
                AccessibilityNodeInfoCompat source = record.getSource();

                ClipboardManager clipboard = (ClipboardManager) this.getSystemService(Context.CLIPBOARD_SERVICE);
                ClipData clip = ClipData.newPlainText("label", "TESTING TESTING");
                clipboard.setPrimaryClip(clip);

                source.performAction(AccessibilityNodeInfoCompat.ACTION_PASTE);
                //}

                Log.d("AccessibilityNodeInfo", ""+ source.getClassName()); …
Run Code Online (Sandbox Code Playgroud)

android android-support-library

18
推荐指数
1
解决办法
1454
查看次数

标签 统计

android ×1

android-support-library ×1