Runt
2022-05-04 7f292c4158e1854ca6dc72895c829e538cbc6c7b
app/src/main/java/com/auto/lyric/service/AutoInputService.java
@@ -43,15 +43,19 @@
                    }
                    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;
@@ -77,23 +81,14 @@
        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("更多选项") ){
@@ -128,6 +123,25 @@
    }
    /**
     * 点击弹出 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());