From 7f292c4158e1854ca6dc72895c829e538cbc6c7b Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Wed, 04 May 2022 15:21:57 +0000 Subject: [PATCH] 发送歌词功能 --- app/src/main/java/com/auto/lyric/service/AutoInputService.java | 58 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 36 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/auto/lyric/service/AutoInputService.java b/app/src/main/java/com/auto/lyric/service/AutoInputService.java index 73c3ea9..e5bb979 100644 --- a/app/src/main/java/com/auto/lyric/service/AutoInputService.java +++ b/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()); -- Gitblit v1.9.1