当我在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)