检测微信自动删除好友
来源:互联网 发布:个性域名注册 编辑:程序博客网 时间:2024/04/28 02:05
源码已上传到 https://github.com/linhaosheng/InspectWechatFriend
目前只适配了6.3.32版本的,在android studio上导入,运行程序后点击开始检测,如果手机没有开启无障碍服务,则会调到设置页面进行打开无障碍服务,该app主要是用到了AccessibilityService 界面的ui控件的检测使用的是Google自带的uiautomatorviewer
通过 uiautomatorviewer 可以检测出对应的UI的文本和ID
一 : 根据文本进行点击
public static void findTextAndClick(AccessibilityService accessibilityService,String text) { AccessibilityNodeInfo accessibilityNodeInfo = accessibilityService.getRootInActiveWindow(); if (accessibilityNodeInfo == null) { return; } List<AccessibilityNodeInfo> nodeInfoList = accessibilityNodeInfo.findAccessibilityNodeInfosByText(text); if (nodeInfoList != null && !nodeInfoList.isEmpty()) { for (AccessibilityNodeInfo nodeInfo : nodeInfoList) { if (nodeInfo != null && (text.equals(nodeInfo.getText()) || text.equals(nodeInfo.getContentDescription()))) { performClick(nodeInfo); break; } } }}
第二 : 根据ID进行点击
public static void findViewIdAndClick(AccessibilityService accessibilityService,String id) { AccessibilityNodeInfo accessibilityNodeInfo = accessibilityService.getRootInActiveWindow(); if (accessibilityNodeInfo == null) { return; } List<AccessibilityNodeInfo> nodeInfoList = accessibilityNodeInfo.findAccessibilityNodeInfosByViewId(id); if (nodeInfoList != null && !nodeInfoList.isEmpty()) { for (AccessibilityNodeInfo nodeInfo : nodeInfoList) { if (nodeInfo != null) { performClick(nodeInfo); break; } } }}
模拟点击事件
//模拟点击事件public static void performClick(AccessibilityNodeInfo nodeInfo) { if (nodeInfo == null) { return; } if (nodeInfo.isClickable()) { nodeInfo.performAction(AccessibilityNodeInfo.ACTION_CLICK); } else { performClick(nodeInfo.getParent()); }}
模拟下拉
listview.get(0).performAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
根据手机的界面的变化做相应的操作:
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) {//监听手机当前窗口状态改变 比如 Activity 跳转,内容变化,按钮点击等事件 //如果手机当前界面的窗口发送变化 if (accessibilityEvent.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { //获取当前activity的类名: String currentWindowActivity = accessibilityEvent.getClassName().toString(); if (!hasComplete) { if ("com.tencent.mm.ui.contact.SelectContactUI".equals(currentWindowActivity)) { canChecked = true; createGroup(); } else if ("com.tencent.mm.ui.chatting.ChattingUI".equals(currentWindowActivity)) { getDeleteFriend(); } else if ("com.tencent.mm.plugin.chatroom.ui.ChatroomInfoUI".equals(currentWindowActivity)) { deleteGroup(); } else if ("com.tencent.mm.ui.LauncherUI".equals(currentWindowActivity)) { PerformClickUtils.findTextAndClick(this, "更多功能按钮"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } PerformClickUtils.findTextAndClick(this, "发起群聊"); } } else { nickNameList.clear(); deleteList.clear(); sortItems.clear(); if (intent != null) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); stopSelf(); } intent = null; } }}有兴趣的欢迎start 和 fork
1 0
- 检测微信自动删除好友
- 微信好友检测
- 微信删除好友对方知道吗?
- 微信自动加好友 模拟位置
- 03环信好友管理 - 删除好友
- 微信助手,模拟微信定位,自动添加好友,自动回复,自动发朋友圈
- 怎样查看已删除微信聊天记录和好友聊天记录
- 找出微信把你删除的好友
- python--查看微信好友是否删除自己
- 微信自动加好友 模拟位置(二)
- 微信好友数据统计,能测出删除你的好友
- 微信分享好友
- 微信助手,自动添加好友,自动回复,自动发朋友圈
- 使用AccessibilityService带你自动安装软件以及自动添加微信好友
- 使用AccessibilityService带你自动安装软件以及自动添加微信好友
- 微信分享好友,朋友圈
- 微信分享好友,朋友圈
- 实现微信好友列表
- ubuntu虚拟机下使用minicom读取串口数据
- 论一个女程序员的自我修养
- 学习篇--快速查询未知长度单链表的中间元素
- Centos7 JDK8安装配置
- 数据结构--学生成绩管理
- 检测微信自动删除好友
- 常用简单算法集合
- Memcache 分布式缓存
- Linux 安装配置curl 命令工具
- Ubuntu 16.10没有rc.local文件
- Linux帮助命令及开关机命令
- 392. Is Subsequence
- pat-a1089. Insert or Merge (25)
- CentOS-7.0.中安装与配置Tomcat-7的方法