| | |
| | | } |
| | | break; |
| | | case ACTION_PASTE: |
| | | List<AccessibilityNodeInfo> list = getRootInActiveWindow().findAccessibilityNodeInfosByText("说点什么..."); |
| | | Log.e(TAG, "ACTION_PASTE nodeInfos: " + list.size()); |
| | | printView(getRootInActiveWindow()," "); |
| | | AccessibilityNodeInfo editNode = getView(getRootInActiveWindow(),"android.widget.EditText"); |
| | | if(editNode != null){ |
| | | Log.e(TAG, "ACTION_PASTE nodeInfos: " + editNode.getClassName()); |
| | | editNode.performAction(AccessibilityNodeInfo.ACTION_PASTE); |
| | | }else{ |
| | | Toast.makeText(getBaseContext(),"未找到控件",Toast.LENGTH_SHORT).show(); |
| | | try{ |
| | | List<AccessibilityNodeInfo> list = getRootInActiveWindow().findAccessibilityNodeInfosByText("说点什么..."); |
| | | Log.e(TAG, "ACTION_PASTE nodeInfos: " + list.size()); |
| | | printView(getRootInActiveWindow()," "); |
| | | AccessibilityNodeInfo editNode = getView(getRootInActiveWindow(),"android.widget.EditText"); |
| | | if(editNode != null){ |
| | | Log.e(TAG, "ACTION_PASTE nodeInfos: " + editNode.getClassName()); |
| | | editNode.performAction(AccessibilityNodeInfo.ACTION_PASTE); |
| | | }else{ |
| | | Toast.makeText(getBaseContext(),"未找到控件",Toast.LENGTH_SHORT).show(); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | break; |
| | |
| | | switch (eventType) { |
| | | case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED://界面变化事件 |
| | | Log.e(TAG, "TYPE_WINDOW_CONTENT_CHANGED " ); |
| | | if(event.getClassName().toString().equals("androidx.viewpager.widget.ViewPager")){ |
| | | clickEdit(); |
| | | } |
| | | break; |
| | | case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED://界面变化事件 |
| | | Log.e(TAG, "TYPE_WINDOW_STATE_CHANGED " ); |
| | | if(source != null && event.getClassName().toString().equals("com.ss.android.ugc.aweme.live.LivePlayActivity")){ |
| | | List<AccessibilityNodeInfo> list = getRootInActiveWindow().findAccessibilityNodeInfosByText("说点什么..."); |
| | | Log.e(TAG,"获取到控件 "+list.size()); |
| | | if (list != null && list.size() > 0 && flag) { |
| | | //模拟第三方点击事件 |
| | | //找到你的节点以后 就直接点击他就行了 |
| | | //AccessibilityNodeInfo node = list.get(0); |
| | | list.get(0).performAction(AccessibilityNodeInfo.ACTION_CLICK); |
| | | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { |
| | | Log.e(TAG,"执行点击 "+list.get(0).getPaneTitle()); |
| | | } |
| | | }else if(flag){ |
| | | Toast.makeText(getBaseContext(),"未找到控件",Toast.LENGTH_SHORT).show(); |
| | | } |
| | | clickEdit(); |
| | | } |
| | | |
| | | if(event.getText().contains("更多选项") ){ |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 点击弹出 edit弹框 |
| | | */ |
| | | private void clickEdit(){ |
| | | List<AccessibilityNodeInfo> list = getRootInActiveWindow().findAccessibilityNodeInfosByText("说点什么..."); |
| | | Log.e(TAG,"获取到控件 "+list.size()); |
| | | if (list != null && list.size() > 0 && flag) { |
| | | //模拟第三方点击事件 |
| | | //找到你的节点以后 就直接点击他就行了 |
| | | //AccessibilityNodeInfo node = list.get(0); |
| | | list.get(0).performAction(AccessibilityNodeInfo.ACTION_CLICK); |
| | | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { |
| | | Log.e(TAG,"执行点击 "+list.get(0).getPaneTitle()); |
| | | } |
| | | }else if(flag){ |
| | | Toast.makeText(getBaseContext(),"未找到控件",Toast.LENGTH_SHORT).show(); |
| | | } |
| | | } |
| | | |
| | | @SuppressLint("NewApi") |
| | | private void printView(AccessibilityNodeInfo node, String space){ |
| | | Log.e(TAG,space +node+" id:"+node.getViewIdResourceName() +" class:"+node.getClassName()+" text:"+node.getText()+" "+node.getPaneTitle()); |